在 Kubernetes 集群中安装 NGINX 入口控制器
本主题描述了如何在 Kubernetes 集群中安装 NGINX 入口控制器并在 Kubernetes 集群外部公开 IBM Control Desk 工作负载。
关于本任务
过程
- 安装 NGINX 入口控制器。 更多详情请参阅 NGINX 文档。
- 创建新的入口安装文件,将其命名为 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是主机名,http协议用于公开不同的服务,例如,服务端口 9080 上的icd-ui。 秘钥名称icd-secret包含 TLS 密钥。 - 使用以下命令 应用
icd-ingress。 这将为 IBM Control Desk 工作负载启用集群中的入口:kubectl apply -f icd-ingress.yaml - 同样,为 Service Portal 创建入口资源,将其命名为
sp-ingress.yaml。 访问 Service Portal 前端将需要此入口。 请参阅以下内容: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
结果
注: 需要在机器的主机文件中添加具有工作程序节点 IP 地址的
icd.ibm.com 和 ssp.ibm.com 条目以解析主机名。