Почему служба Kube не присоединяет сертификат SSL к AWS NLB?
Нам нужен сервис Kubernetes, который запускает AWS Load Balancer, который поддерживает веб-сокеты, то есть не классический LB. Поддержка AWS NLB находится в альфа-состоянии, но, похоже, работает хорошо.
Проблема, с которой мы столкнулись, заключается в том, чтобы установить для слушателя 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 ответ
Вы можете использовать контроллер ingress nginx на kubernetes, и косвенно он также делает балансировщик нагрузки, но обработка продления сертификата с помощью диспетчера Cert будет настолько простой
Так что вход с Cert manager будет лучшей идеей для SSL и TLS сертификата на kubernetes
https://kubernetes.io/docs/concepts/services-networking/ingress/
Для получения более подробной информации об этой ссылке ознакомьтесь с этой ссылкой.