Cette rubrique explique comment installer le contrôleur Ingress NGINX dans le cluster Kubernetes et exposer les charges de travail IBM Control Desk hors du cluster Kubernetes.
Procédure
- Installez le contrôleur Ingress NGINX. Pour plus de détails, voir la documentation NGINX .
- Créez un nouveau fichier d'installation Ingress, nommez-le icd-ingress.yaml. Il est utilisé pour exposer les charges de travail IBM®
Control Desk en dehors du cluster. Son contenu doit être le suivant :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: icd-ingress
namespace: icd
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/affinity-mode: persistent
nginx.ingress.kubernetes.io/session-cookie-hash: sha1
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
ingress.kubernetes.io/backend-protocol: "HTTPS"
kubernetes.io/tls-acme: "true"
spec:
tls:
- hosts:
- icd.ibm.com
secretName: icd-secret
rules:
- host: icd.ibm.com
http:
paths:
- path: /maximoapi
backend:
serviceName: icd-api
servicePort: 9080
- path: /cron
backend:
serviceName: icd-cron
servicePort: 9080
- path: /mea
backend:
serviceName: icd-mea
servicePort: 9080
- path: /
backend:
serviceName: icd-ui
servicePort: 9080
Ici, icd.ibm.com est le nom d'hôte et http est le protocole utilisé pour exposer les différents services tels qu'icd-ui sur le port de service 9080. Le nom de secret icd-secret contient le secret TLS.
- Appliquez le
icd-ingress à l'aide de la commande ci-dessous. Cela active l'entrée dans votre cluster pour les charges de travail IBM
Control Desk :
kubectl apply -f icd-ingress.yaml
- De la même manière, créez une ressource Ingress pour le portail des services, nommez-la
sp-ingress.yaml. Elle sera requise pour l'accès au guichet du portail des services. Son contenu doit être le suivant :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ssp-ingress
namespace: icd
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
ingress.kubernetes.io/backend-protocol: "HTTPS"
kubernetes.io/tls-acme: "true"
spec:
tls:
- hosts:
- ssp.ibm.com
secretName: icd-secret
rules:
- host: ssp.ibm.com
http:
paths:
- path: /
backend:
serviceName: icd-ssp
servicePort: 3000
Ici, ssp.ibm.com est le nom d'hôte et http est le protocole utilisé pour exposer les différents services tels qu'icd-ssp sur le port de service 3000. Le nom de secret icd-secret contient le secret TLS.
- Appliquez le
ssp-ingress à l'aide de la commande suivante:
kubectl apply -f sp-ingress.yaml
Résultats
Une fois les étapes ci-dessus effectuées, Ingress est activé dans la configuration Kubernetes. Les interfaces utilisateur IBM
Control Desk et Service Portal sont accessibles à l'aide d'Ingress.Remarque: les entrées pour icd.ibm.com et ssp.ibm.com avec les adresses IP des noeuds worker doivent être ajoutées dans le fichier hosts de la machine pour résoudre les noms d'hôte.