在Amazon EKS上使用NGINX Ingress Controller时,可以利用AWS Certificate Manager
首先
以下是在Amazon EKS上设置AWS Certificate Manager到NGINX Ingress控制器的方法总结。本文假设使用Mac环境。
准备执行环境
-
- 请参考以下选项,以便进行本机的汉语转述:
请参考 AWS CLI 设置,以便运行 AWS CloudFormation 所需的 AWS CLI 设置。
请参考使用 eksctl 在 Mac 上构建 Amazon EKS 集群。
请参考在 Mac 上配置 Amazon EKS 上下文。
请参考在 Amazon EKS 上使用 Helm。
请参考在 Amazon EKS 上使用 NGINX Ingress Controller。
设定环境
-
- 使用Route53获取自定义域名。
-
- 获取AWS证书管理器。
-
- 创建patch.yaml
-
- 请参考AWS L7 ELB with SSL终止。
-
- 设置ACM的ARN。
patch.yaml
controller:
service:
targetPorts:
http: http
https: http
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: ${ACM的ARN}
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: “http”
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: “https”
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: ‘3600’
通过Helm升级NGINX Ingress Controller的图表。
请先设置Kubernetes集群上下文。
helm upgrade -i nginx-ingress-controller \
ingress-nginx/ingress-nginx \
-n nginx-ingress-controller \
-f patch.yaml
整理清理
-
- 从集群中删除
使用Helm删除NGINX Ingress Controller
helm delete nginx-ingress-controller -n nginx-ingress-controller
删除命名空间
kubectl delete ns nginx-ingress-controller