我使用 KOPS 在 AWS 中设置了一个 kubernetes 集群;现在我想设置一个 NGINX 入口 Controller 并使用 AWS 托管证书终止 TLS。我理解的拓扑是 AWS ELB 面向互联网并终止 TLS,将未加密的转发到入口服务,然后进行调度。
我已经从 https://github.com/kubernetes/ingress/tree/master/examples/aws/nginx 部署了入口 Controller
除非我按照 https://github.com/kubernetes/ingress/issues/71 中的说明使用注释添加证书。
我将路由添加到 Route53 并打开浏览器访问 https 地址,并从 NGINX 收到 400 响应消息“普通 HTTP 请求已发送到 HTTPS 端口”
我做错了什么?
这是我的入口资源:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: dispatcher
namespace: test
spec:
rules:
- host: REDACTED
http:
paths:
- backend:
serviceName: REDACTED
servicePort: 80
path: /api/v0
最佳答案
我设法主要使用此处的入口来完成此操作:https://github.com/kubernetes/kops/tree/master/addons/ingress-nginx除了入口服务,我添加了指向我的证书 ARN 的 service.beta.kubernetes.io/aws-load-balancer-ssl-cert
注释并设置了两者的 targetPort
端口到 80
关于amazon-web-services - 如何在 AWS 和 SSL 终止中设置 kubernetes NGINX 入口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44421363/