Skip to content

Commit c2c4c92

Browse files
DBACLD-43365 - Google cloud documentation review (#119)
* Reorganize * Fix links * Review doc and remove unnecessary files * Review * Fix links and typo * Review Nginx doc * Add file for nginx * Review * Fix gcp account creation link * Remove values-nginx.yaml file
1 parent 89d183c commit c2c4c92

12 files changed

+214
-501
lines changed

platform/gcloud/README.md

+172-288
Large diffs are not rendered by default.

platform/gcloud/README_NGINX.md

+15-69
Original file line numberDiff line numberDiff line change
@@ -3,87 +3,34 @@
33
This section explains how to expose the ODM services to Internet connectivity with Ingress.
44
For reference, see the Google Cloud documentation https://cloud.google.com/community/tutorials/nginx-ingress-gke
55

6-
<!-- TOC titleSize:2 tabSpaces:2 depthFrom:1 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 skip:0 title:1 charForUnorderedList:* -->
76
## Table of Contents
8-
- [Install an ODM Helm release and expose it with a NGINX Ingress controller (15 min)](#install-an-odm-helm-release-and-expose-it-with-a-nginx-ingress-controller-15-min)
9-
- [Table of Contents](#table-of-contents)
10-
- [Create a Kubernetes secret for the TLS certificate](#create-a-kubernetes-secret-for-the-tls-certificate)
11-
- [Install the ODM release](#install-the-odm-release)
12-
- [Edit your /etc/hosts](#edit-your-etchosts)
13-
- [Access the ODM services](#access-the-odm-services)
14-
- [Troubleshooting](#troubleshooting)
15-
- [License](#license)
16-
<!-- /TOC -->
177

18-
NGINX has been installed while deploying IBM License Manager, see [README.md](README.md#create-a-nginx-ingress-controller).
8+
1. [Create a NGINX Ingress controller](#1-create-a-nginx-ingress-controller)
9+
2. [Install the ODM release](#2-install-the-odm-release)
10+
3. [Check the deployment and access ODM services](#3-check-the-deployment-and-access-odm-services)
1911

20-
## Create a Kubernetes secret for the TLS certificate
12+
### 1. Create a NGINX Ingress controller
2113

22-
1. (Optional) Generate a self-signed certificate
14+
Refer to the [Create a NGINX Ingress controller](README.md#a-create-a-nginx-ingress-controller) section if you have not created it already.
2315

24-
If you do not have a trusted certificate, you can use OpenSSL and other cryptography and certificate management libraries to generate a certificate file and a private key, to define the domain name, and to set the expiration date. The following command creates a self-signed certificate (.crt file) and a private key (.key file) that accept the domain name *mycompany.com*. The expiration is set to 1000 days:
16+
### 2. Install the ODM release
2517

26-
```
27-
openssl req -x509 -nodes -days 1000 -newkey rsa:2048 -keyout mycompany.key \
28-
-out mycompany.crt -subj "/CN=mycompany.com/OU=it/O=mycompany/L=Paris/C=FR" \
29-
-addext "subjectAltName=DNS:mycompany.com"
30-
```
31-
32-
>By default on mac osx, the default Openssl (LibreSSL version) does not have the -addtext option. You need to install the "Official" OpenSSL implementation.
33-
34-
2. Create the according Kubernetes secret that contains the certificate
35-
36-
```
37-
kubectl create secret tls <mycompanytlssecret> --key mycompany.key --cert mycompany.crt
38-
```
39-
40-
## Install the ODM release
41-
42-
You can now install the product:
18+
You can install the product using the dedicated Ingress annotation `kubernetes.io/ingress.class: nginx`.
4319

44-
The ODM instance is using the externalCustomDatabase parameters to import the PostgreSQL datasource and driver. The ODM services will be exposed through NGINX thanks to the dedicated Ingress annotation (kubernetes.io/ingress.class: nginx).
45-
The secured HTTPS communication is managed by the NGINX ingress controller. So, we disable TLS at container level
20+
The ODM services will be exposed through NGINX.
21+
The secured HTTPS communication is managed by the NGINX ingress controller. So, we disable TLS at container level.
4622

47-
```
48-
helm install <release> ibmcharts/ibm-odm-prod \
49-
--set image.repository=cp.icr.io/cp/cp4a/odm --set image.pullSecrets=<registrysecret> \
50-
--set externalCustomDatabase.datasourceRef=<customdatasourcesecret> --set externalCustomDatabase.driverPvc=customdatasource-pvc \
51-
--set service.enableTLS=false --set service.ingress.tlsSecretRef=<mycompanytlssecret> \
52-
--set service.ingress.enabled=true --set service.ingress.host=mycompany.com --set service.ingress.tlsHosts={"mycompany.com"} \
53-
--set service.ingress.annotations={"kubernetes.io/ingress.class: nginx"}
54-
```
55-
56-
## Edit your /etc/hosts
23+
Replace the placeholders in the [gcp-values.yaml](./gcp-values.yaml) file and install the chart:
5724

5825
```
59-
# vi /etc/hosts
60-
<externalip> mycompany.com
26+
helm install mycompany ibmcharts/ibm-odm-prod --version 22.1.0 \
27+
-f gcp-values-nginx.yaml \
28+
--set service.ingress.annotations={"kubernetes.io/ingress.class: nginx"}
6129
```
6230

63-
## Access the ODM services
31+
### 3. Check the deployment and access ODM services
6432

65-
Check that ODM services are in NodePort type:
66-
67-
```
68-
kubectl get services
69-
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
70-
mycompany-odm-decisioncenter NodePort 10.0.178.43 <none> 9453:32720/TCP 16m
71-
mycompany-odm-decisionrunner NodePort 10.0.171.46 <none> 9443:30223/TCP 16m
72-
mycompany-odm-decisionserverconsole NodePort 10.0.106.222 <none> 9443:30280/TCP 16m
73-
mycompany-odm-decisionserverconsole-notif ClusterIP 10.0.115.118 <none> 1883/TCP 16m
74-
mycompany-odm-decisionserverruntime NodePort 10.0.232.212 <none> 9443:30082/TCP 16m
75-
nginx-ingress-ingress-nginx-controller LoadBalancer 10.0.191.246 51.103.3.254 80:30222/TCP,443:31103/TCP 3d
76-
nginx-ingress-ingress-nginx-controller-admission ClusterIP 10.0.214.250 <none> 443/TCP 3d
77-
```
78-
79-
ODM services are available through the following URLs:
80-
81-
| SERVICE NAME | URL | USERNAME/PASSWORD
82-
| --- | --- | ---
83-
| Decision Server Console | https://mycompany.com/res | odmAdmin/odmAdmin
84-
| Decision Center | https://mycompany.com/decisioncenter | odmAdmin/odmAdmin
85-
| Decision Server Runtime | https://mycompany.com/DecisionService | odmAdmin/odmAdmin
86-
| Decision Runner | https://mycompany.com/DecisionRunner | odmAdmin/odmAdmin
33+
Refer to the [the main README](README.md#b-check-the-topology) to check the deployment and access the ODM services.
8734

8835
## Troubleshooting
8936

@@ -92,4 +39,3 @@ If your ODM instances are not running properly, please refer to [our dedicated t
9239
# License
9340

9441
[Apache 2.0](../LICENSE)
95-

platform/gcloud/customdatasource-pvc.yaml

-11
This file was deleted.

platform/gcloud/datasource-dc.xml

-23
This file was deleted.

platform/gcloud/datasource-ds.xml

-23
This file was deleted.

platform/gcloud/dc-backendconfig.yaml

-7
This file was deleted.

platform/gcloud/filestore-example.yaml

-10
This file was deleted.

platform/gcloud/gcp-values.yaml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
license: true
2+
usersPassword: "odmAdmin"
3+
4+
image:
5+
repository: cp.icr.io/cp/cp4a/odm
6+
pullSecrets:
7+
- <REGISTRY_SECRET>
8+
9+
service:
10+
enableTLS: false
11+
ingress:
12+
enabled: true
13+
tlsSecretRef: mycompany-crt-secret
14+
host: mycompany.com
15+
tlsHosts:
16+
- mycompany.com
17+
18+
externalDatabase:
19+
type: postgres
20+
secretCredentials: <odm-db-secret>
21+
port: 5432
22+
serverName: <DB_ENDPOINT>
23+
databaseName: <DATABASE_NAME>
24+
# You can get the last Google Cloud SQL PostgreSQL driver version
25+
# at https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory/releases
26+
driversUrl:
27+
- https://storage.googleapis.com/cloud-sql-java-connector/v1.6.0/postgres-socket-factory-1.6.0-jar-with-driver-and-dependencies.jar

platform/gcloud/kustomization.yaml

-39
This file was deleted.

platform/gcloud/kustomize

-5
This file was deleted.

platform/gcloud/nginx.yaml

-26
This file was deleted.

0 commit comments

Comments
 (0)