Инструкции#

Обновление кластера Kubernetes для поддержки ALB#

Если кластер Kubernetes был создан до 27.05.2025, то вы можете обновить его конфигурацию для поддержки работы с балансировщиком нагрузки приложений.

  1. На мастер-узле кластера добавьте в манифест объект IngressClass и укажите его параметры:

    Пример манифеста для ALB-провайдера
    kubectl apply -f - <<EOF
    apiVersion: elbv2.k8s.aws/v1beta1
    kind: IngressClassParams
    metadata:
    labels:
        app.kubernetes.io/name: aws-load-balancer-controller
    name: alb
    ---
    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
    labels:
        app.kubernetes.io/name: aws-load-balancer-controller
    name: alb
    spec:
    controller: ingress.k8s.aws/alb
    parameters:
        apiGroup: elbv2.k8s.aws
        kind: IngressClassParams
        name: alb
    EOF
    
  2. С помощью команды:

    kubectl edit deployment aws-load-balancer-controller -n kube-system
    

    отредактируйте объект Deployment в манифесте controller-manager, чтобы он содержал следующие поля:

    spec:
    template:
          spec:
          containers:
          - name: controller
             args:
             - --cluster-name=production
             - --aws-api-endpoints=ec2=https://ec2.k2.cloud:443,elasticloadbalancing=https://elb.k2.cloud:443
             - --ingress-class=alb
             - --enable-shield=false
             - --aws-region=k2
             - --enable-backend-security-group=false
             - --feature-gates=NLBSecurityGroup=false,WeightedTargetGroups=false
             - --enable-waf=false
             - --enable-wafv2=false
             - --tolerate-non-existent-backend-service=false
    
    spec:
    template:
          spec:
          containers:
          - name: controller
             args:
             - --cluster-name=production
             - --aws-api-endpoints=ec2=https://ec2.ru-spb.k2.cloud:443,elasticloadbalancing=https://elb.ru-spb.k2.cloud:443
             - --ingress-class=alb
             - --enable-shield=false
             - --aws-region=k2
             - --enable-backend-security-group=false
             - --feature-gates=NLBSecurityGroup=false,WeightedTargetGroups=false
             - --enable-waf=false
             - --enable-wafv2=false
             - --tolerate-non-existent-backend-service=false
    

    Кроме того, в качестве образа контроллера укажите последний актуальный образ.

  3. Примените изменения с помощью команды:

    kubectl rollout restart deployment aws-load-balancer-controller -n kube-system