在 Kubernetes 叢集裡安裝 NGINX Ingress 控制器
本主題說明如何在 Kubernetes 叢集裡安裝 NGINX Ingress 控制器,並在 Kubernetes 叢集外公開 IBM 控制台工作負載。
關於此作業
程序
- 安裝 NGINX Ingress 控制器。 如需詳細資料,請參閱 NGINX 文件 。
- 建立新的 Ingress 安裝檔案,並將它命名為 icd-ingress.yaml。 它用於在叢集外部公開 IBM®
Control Desk 工作量。 請參閱下列內容:
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其中icd.ibm.com是用來在服務埠 9080 上公開不同服務 (例如icd-ui) 的主機名稱及http通訊協定。 密鑰名稱icd-secret包含 TLS 密鑰。 - 使用下列指令 套用
icd-ingress。 這將在叢集裡啟用 IBM Control Desk 工作負載的入口:kubectl apply -f icd-ingress.yaml - 同樣地,建立 Service Portal 的入口資源,將它命名為
sp-ingress.yaml。 存取服務入口網站前端系統需要此入口網站。 請參閱下列內容: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其中ssp.ibm.com是主機名稱,而http通訊協定用來在服務埠 3000 上公開不同的服務,例如 icd-ssp 。 密鑰名稱 icd-secret 包含 TLS 密鑰。 - 使用下列指令來套用
ssp-ingress:kubectl apply -f sp-ingress.yaml
結果
附註: 需要在機器的 hosts 檔中新增具有工作者節點 IP 位址的
icd.ibm.com 及 ssp.ibm.com 項目,才能解析主機名稱。