SSL (ACM) на EKS load balancer

#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