#kubernetes #ssl-certificate #amazon-elb #amazon-eks
#kubernetes #ssl-сертификат #amazon-elb #amazon-eks
Вопрос:
У меня запущено мое приложение на EKS, которое использует istio-ingressgateway
сервис для балансировки нагрузки, имеющий порты 15020,15032,15031,15029,15030,15443. Я хочу прекратить действие SSL на этом ELB, но всякий раз, когда я применяю свой ingress.файл yaml перезаписывает все порты по умолчанию и настраивает только 443. Какие изменения необходимо внести, чтобы добавить 443 SSL-порта в запущенный ELB и сохранить другие порты такими, какие они есть.
apiVersion: v1
kind: Service
metadata:
name: istio-ingressgateway
namespace: istio-system
annotations:
service.kubernetes.io/tke-existed-lbid: "xxxxxxxxxxxxxxxxxxxxx"
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:xx-xxxx-x:123456789:certificate/xxxxxx-xxxxx-xxx-xxxx-xxxxxxx"
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
labels:
chart: gateways-1.0.1
release: istio
heritage: Tiller
app: istio-ingressgateway
istio: ingressgateway
spec:
type: LoadBalancer
ports:
- port: 443
name: https
protocol: TCP
externalTrafficPolicy: Cluster
selector:
app: istio-ingressgateway
istio: ingressgateway
Ответ №1:
Похоже, что нет поддержки для использования существующего ELB через аннотации. Очень интересно, что tke-existed-lbid
работает на вас. Если я не ошибаюсь, это движок Tencent Kubernetes. Аннотации предназначены для создания новых LBS. Если вы хотите использовать существующий LB, создайте LB вне контекста k8s и сохраните свой манифест как есть (без аннотаций), чтобы он служил внешним балансировщиком нагрузки.
Комментарии:
1. да, tke-existed-lbid работает, а также почему порты перезаписываются, а не просто добавляют 443?
2. Эта аннотация даже не упоминается в официальных документах. Я бы открыл заявку в службу поддержки AWS TBH