我们需要一个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|
答案 0 :(得分:1)
您可以在kubernetes上使用Ingress Nginx控制器,它间接也是负载均衡器,但是使用证书管理器处理证书续订将非常容易
因此,最好使用Cert Manager进入kubernetes上的SSL和TLS证书
https://kubernetes.io/docs/concepts/services-networking/ingress/
有关共享此链接的教程的更多详细信息,请查看