如何在AWS和SSL终止中设置Kubernetes nginx Ingress



我使用kops在AWS中设置了一个kubernetes群集;现在,我想设置一个NGINX INGRESS控制器,并终止具有AWS托管证书的TLS。我理解的拓扑是AWS ELB面临互联网并终止了TLS,未经加密的进口服务,然后进行派遣。

我已经从https://github.com/kubernetes/ingress/tree/master/master/examples/aws/nginx 部署了入口控制器

除了我使用https://github.com/kubernetes/ingress/issues/71上所述的注释。

我将路由添加到Route53,然后将浏览器打开到HTTPS地址,并从NGINX获得400响应,并带有消息" Pline 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

我设法在此处完成了很大的使用:添加了指向我的证书ARN的service.beta.kubernetes.io/aws-load-balancer-ssl-cert注释,并将两个端口的targetPort设置为80

https://github.com/kubernetes/ingress/tree/master/master/controllers/nginx#https

tl; dr

1(在您的命名空间中使用您的SSL公共/私人创建一个秘密

2(将TLS块添加到入口(引用秘密(