如何在 AWS 和 SSL 终止中设置 kubernetes NGINX 入口
How to set up kubernetes NGINX ingress in AWS and SSL termination
我使用 KOPS 在 AWS 中设置了一个 kubernetes 集群;现在我想设置一个 NGINX 入口控制器并使用 AWS 托管证书终止 TLS。我理解的拓扑是 AWS ELB 面向互联网并终止 TLS,转发未加密的入口服务,然后进行调度。
我已经从 https://github.com/kubernetes/ingress/tree/master/examples/aws/nginx
部署了入口控制器
除了我使用 https://github.com/kubernetes/ingress/issues/71 顶部描述的注释来添加证书。
我将路由添加到 Route53 并打开浏览器访问 https 地址,并从 NGINX 收到 400 响应消息 "The plain HTTP request was sent to HTTPS port"
我做错了什么?
这是我的入口资源:
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/ingress/tree/master/controllers/nginx#https
TL;DR
1) 在您的命名空间
中使用您的 ssl public/private 创建一个秘密
2) 将 tls 块添加到您的入口(引用秘密)
我设法主要使用此处的入口来完成此操作:https://github.com/kubernetes/kops/tree/master/addons/ingress-nginx 除了入口服务,我添加了指向我的证书 ARN 的 service.beta.kubernetes.io/aws-load-balancer-ssl-cert
注释并设置了 targetPort
端口到 80
我使用 KOPS 在 AWS 中设置了一个 kubernetes 集群;现在我想设置一个 NGINX 入口控制器并使用 AWS 托管证书终止 TLS。我理解的拓扑是 AWS ELB 面向互联网并终止 TLS,转发未加密的入口服务,然后进行调度。
我已经从 https://github.com/kubernetes/ingress/tree/master/examples/aws/nginx
部署了入口控制器除了我使用 https://github.com/kubernetes/ingress/issues/71 顶部描述的注释来添加证书。
我将路由添加到 Route53 并打开浏览器访问 https 地址,并从 NGINX 收到 400 响应消息 "The plain HTTP request was sent to HTTPS port"
我做错了什么?
这是我的入口资源:
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/ingress/tree/master/controllers/nginx#https
TL;DR
1) 在您的命名空间
中使用您的 ssl public/private 创建一个秘密2) 将 tls 块添加到您的入口(引用秘密)
我设法主要使用此处的入口来完成此操作:https://github.com/kubernetes/kops/tree/master/addons/ingress-nginx 除了入口服务,我添加了指向我的证书 ARN 的 service.beta.kubernetes.io/aws-load-balancer-ssl-cert
注释并设置了 targetPort
端口到 80