为什么Kube服务未将SSL证书附加到AWS NLB?

时间:2019-02-05 06:56:28

标签: amazon-web-services ssl kubernetes ssl-certificate nlb

我们需要一个Kubernetes服务,该服务会启动一个支持Web套接字的AWS负载均衡器,即不支持经典LB. 对AWS NLB的支持处于Alpha状态-但效果很好。

我们遇到的问题是将侦听器设置为TLS而不是TCP,并正确附加ACM SSL证书-与经典LB配合得很好

service.yml中的注释为:

      service.beta.kubernetes.io/aws-load-balancer-ssl-cert: 'arn:aws:acm:{{ .Values.certificate.region }}:{{ .Values.certificate.aws_user_id }}:certificate/{{ .Values.certificate.id }}'
      service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: "ELBSecurityPolicy-TLS-1-2-2017-01"
      service.beta.kubernetes.io/aws-load-balancer-type: "nlb

结果是:

| Listener ID | Security Policy | SSL Certificate | Default Action |
| ---         | ---             | ---             | ---            |
| TCP: 443    | N/A             | N/A             | Forward to: k8s|

预期:

| Listener ID | Security Policy | SSL Certificate | Default Action |
| ---         | ---             | ---             | ---            |
| TLS: 443    | ELBSecurityPol..| f456ac87d0ed99..| Forward to: k8s|

1 个答案:

答案 0 :(得分:1)

您可以在kubernetes上使用Ingress Nginx控制器,它间接也是负载均衡器,但是使用证书管理器处理证书续订将非常容易

因此,最好使用Cert Manager进入kubernetes上的SSL和TLS证书

  

https://kubernetes.io/docs/concepts/services-networking/ingress/

有关共享此链接的教程的更多详细信息,请查看

  

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes