如何使用 https 在 AWS 中设置外部 kubernetes 服务
How to setup an external kubernetes service in AWS using https
我想在 AWS 中设置一个侦听 https 的 public kubernetes 服务。
我知道 kubernetes 服务目前只支持 TCP 和 UDP,但是有没有办法让它与当前版本的 kubernetes 和 AWS ELB 一起工作?
我找到了这个。 http://blog.kubernetes.io/2015/07/strong-simple-ssl-for-kubernetes.html
这是目前最好的方法吗?
Https 通常 运行s 通过 TCP,因此您可以简单地 运行 使用 Type=Nodeport/LoadBalancer 的服务并管理服务中的证书。这个例子可能会有所帮助 [1],nginx 正在通过 NodePort 监听 :443 以获取入口流量。有关示例的更好解释,请参阅 [2]。
[1] https://github.com/kubernetes/kubernetes/blob/release-1.0/examples/https-nginx/nginx-app.yaml#L8
[2] http://kubernetes.io/v1.0/docs/user-guide/connecting-applications.html
就我而言,我在 aws 中设置了一个 elb 并在其上设置了 ssl 证书,为 elb 中的连接类型选择了 https 和 http,效果很好。我设置了 elb wroth kubectl expose。
从 1.3 开始,您可以将注释与 type=LoadBalancer 服务一起使用:
https://github.com/kubernetes/kubernetes/issues/24978
service.beta.kubernetes.io/aws-load-balancer-ssl-cert=arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
service.beta.kubernetes.io/aws-load-balancer-ssl-ports=* (or e.g. https)
如果您只想在任意数量的端口上支持 HTTPS,则第一个注释是您唯一需要的注释。如果您还想在一个或多个附加端口上支持 HTTP,则需要使用第二个注释来明确指定哪些端口将使用加密(其他端口将使用纯 HTTP)。
我想在 AWS 中设置一个侦听 https 的 public kubernetes 服务。
我知道 kubernetes 服务目前只支持 TCP 和 UDP,但是有没有办法让它与当前版本的 kubernetes 和 AWS ELB 一起工作?
我找到了这个。 http://blog.kubernetes.io/2015/07/strong-simple-ssl-for-kubernetes.html
这是目前最好的方法吗?
Https 通常 运行s 通过 TCP,因此您可以简单地 运行 使用 Type=Nodeport/LoadBalancer 的服务并管理服务中的证书。这个例子可能会有所帮助 [1],nginx 正在通过 NodePort 监听 :443 以获取入口流量。有关示例的更好解释,请参阅 [2]。
[1] https://github.com/kubernetes/kubernetes/blob/release-1.0/examples/https-nginx/nginx-app.yaml#L8
[2] http://kubernetes.io/v1.0/docs/user-guide/connecting-applications.html
就我而言,我在 aws 中设置了一个 elb 并在其上设置了 ssl 证书,为 elb 中的连接类型选择了 https 和 http,效果很好。我设置了 elb wroth kubectl expose。
从 1.3 开始,您可以将注释与 type=LoadBalancer 服务一起使用:
https://github.com/kubernetes/kubernetes/issues/24978
service.beta.kubernetes.io/aws-load-balancer-ssl-cert=arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
service.beta.kubernetes.io/aws-load-balancer-ssl-ports=* (or e.g. https)
如果您只想在任意数量的端口上支持 HTTPS,则第一个注释是您唯一需要的注释。如果您还想在一个或多个附加端口上支持 HTTP,则需要使用第二个注释来明确指定哪些端口将使用加密(其他端口将使用纯 HTTP)。