Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Подключение к узлу по SSH
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение к кластеру
      • Обзор способов подключения
      • Настройка групп безопасности
      • Создание статического файла конфигурации
    • Установка приложений
      • Основы работы с Yandex Cloud Marketplace
      • Установка Jaeger
      • Установка Metrics Provider
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка Node Local DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Object Storage
    • Управление кластером Kubernetes
      • Получение информации о кластере Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Подключение к узлу по SSH
      • Настройка автомасштабирования
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Интеграция с Yandex Container Registry
    • Запуск рабочих нагрузок с GPU
    • Установка NGINX Ingress-контроллера с Let's Encrypt®
    • Настройка Yandex Application Load Balancer Ingress-контроллера
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Настройка Fluent Bit для работы с Yandex Cloud Logging
    • Синхронизация с секретами Yandex Lockbox
    • Использование продуктов Cloud Marketplace
      • Использование Jaeger для трассировки запросов в Managed Service for YDB
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сеть в Managed Service for Kubernetes
    • Внешние узлы кластера
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Хранилище данных
    • Настройка и обновление
    • Автоматическое масштабирование
    • Ресурсы
    • Логи
    • Все вопросы на одной странице
  1. Практические руководства
  2. Настройка Yandex Application Load Balancer Ingress-контроллера

Настройка Yandex Application Load Balancer Ingress-контроллера

Статья создана
Yandex Cloud
  • Перед началом работы
  • Создайте пространство имен для Application Load Balancer Ingress-контроллера
  • Установите Application Load Balancer Ingress-контроллер
  • Создайте Ingress-контроллер и тестовые приложения
  • Убедитесь в доступности приложений кластера Kubernetes через Application Load Balancer
  • Удалите созданные ресурсы

Сервис Application Load Balancer используется для балансировки нагрузки и распределения трафика между приложениями. Чтобы с его помощью управлять трафиком к приложениям, запущенным в кластере Managed Service for Kubernetes, необходим Ingress-контроллер.

Чтобы настроить доступ к запущенным в кластере приложениям через Application Load Balancer:

  1. Создайте пространство имен для Application Load Balancer Ingress-контроллера.
  2. Установите Application Load Balancer Ingress-контроллер.
  3. Создайте Ingress-контроллер и тестовые приложения.
  4. Убедитесь в доступности приложений кластера Kubernetes через Application Load Balancer.

Перед началом работы

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

    По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  2. Создайте сервисный аккаунт, необходимый для работы Ingress-контроллера.

    1. Назначьте ему роли:

      • alb.editor — для создания необходимых ресурсов.
      • vpc.publicAdmin — для управления внешней связностью.
      • certificate-manager.certificates.downloader — для работы с сертификатами, зарегистрированными в сервисе Yandex Certificate Manager.
      • compute.viewer — для использования узлов кластера Managed Service for Kubernetes в целевых группах балансировщика.
    2. Создайте для него авторизованный ключ и сохраните в файл sa-key.json:

      yc iam key create \
        --service-account-name <имя сервисного аккаунта для Ingress-контроллера> \
        --output sa-key.json
      
  3. Зарегистрируйте публичную доменную зону и делегируйте домен.

  4. Если у вас уже есть сертификат для доменной зоны, добавьте сведения о нем в сервис Certificate Manager. Или создайте новый сертификат от Let's Encrypt®.

  5. Создайте кластер Managed Service for Kubernetes с настройками:

    • Версия Kubernetes: не ниже 1.19.
    • Публичный адрес: Автоматически.
  6. Создайте группу узлов любой подходящей конфигурации с версией Kubernetes не ниже 1.19.

  7. Настройте группы безопасности кластера и группы узлов. Группа безопасности группы узлов должна разрешать входящие TCP-соединения к портам 10501 и 10502 из подсетей балансировщика или из его группы безопасности (позже подсети и группу нужно будет указать для создания Ingress-контроллера).

  8. Установите менеджер пакетов Helm версии не ниже 3.7.0.

  9. Установите kubectl и настройте его на работу с созданным кластером.

  10. Убедитесь, что вы можете подключиться к кластеру с помощью kubectl:

    kubectl cluster-info
    

Создайте пространство имен для Application Load Balancer Ingress-контроллера

Чтобы создать пространство имен, выполните следующую команду:

kubectl create namespace yc-alb-ingress

Установите Application Load Balancer Ingress-контроллер

Для установки Helm-чарта с Ingress-контроллером выполните команды:

export HELM_EXPERIMENTAL_OCI=1 && \
cat sa-key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \
helm pull oci://cr.yandex/yc/yc-alb-ingress-controller-chart \
  --version=v0.1.0 \
  --untar && \
helm install \
  --namespace yc-alb-ingress \
  --set folderId=<идентификатор каталога> \
  --set clusterId=<идентификатор кластера> \
  --set-file saKeySecretKey=sa-key.json \
yc-alb-ingress-controller ./yc-alb-ingress-controller-chart/

Идентификатор кластера можно получить со списком кластеров в каталоге.

Создайте Ingress-контроллер и тестовые приложения

В качестве рабочей нагрузки Ingress-контроллера могут выступать сервисы Kubernetes, целевые группы Application Load Balancer или бакеты Yandex Object Storage.

Перед началом работы получите идентификатор добавленного ранее TLS-сертификата:

yc certificate-manager certificate list

Результат выполнения команды:

+-----------------+-------+----------------+---------------------+----------+--------+
|       ID        | NAME  |    DOMAINS     |      NOT AFTER      |   TYPE   | STATUS |
+-----------------+-------+----------------+---------------------+----------+--------+
| <идентификатор> | <имя> | <доменное имя> | 2022-01-06 17:19:37 | IMPORTED | ISSUED |
+-----------------+-------+----------------+---------------------+----------+--------+
Ingress-контроллер для сервисов Kubernetes
Ingress-контроллер для группы бэкендов
  1. В отдельном каталоге создайте файл ingress.yaml и укажите в нем делегированное ранее доменное имя, идентификатор сертификата и настройки для Application Load Balancer:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: alb-demo-tls
      annotations:
        ingress.alb.yc.io/subnets: <список идентификаторов подсетей>
        ingress.alb.yc.io/security-groups: <список идентификаторов групп безопасности>
        ingress.alb.yc.io/external-ipv4-address: <auto или статический IP-адрес>
        ingress.alb.yc.io/group-name: <имя Ingress-группы>
    spec:
      tls:
        - hosts:
            - <доменное имя>
          secretName: yc-certmgr-cert-id-<идентификатор TLS-сертификата>
      rules:
        - host: <доменное имя>
          http:
            paths:
              - path: /app1
                pathType: Prefix
                backend:
                  service:
                    name: alb-demo-1
                    port:
                      number: 80
              - path: /app2
                pathType: Prefix
                backend:
                  service:
                    name: alb-demo-2
                    port:
                      number: 80
              - pathType: Prefix
                path: "/"
                backend:
                  service:
                    name: alb-demo-2
                    port:
                      name: http
    

    Где:

    • ingress.alb.yc.io/subnets — одна или несколько подсетей, с которыми будет работать Application Load Balancer.
    • ingress.alb.yc.io/security-groups — одна или несколько групп безопасности для Application Load Balancer. Если параметр не задан, используется группа безопасности по умолчанию. Хотя бы одна из групп безопасности должна разрешать исходящие TCP-соединения к портам 10501 и 10502 в подсети группы узлов или в ее группу безопасности.
    • ingress.alb.yc.io/external-ipv4-address — предоставление публичного доступа к Application Load Balancer из интернета. Укажите заранее полученный IP-адрес, либо установите значение auto, чтобы получить новый.
    • ingress.alb.yc.io/group-name — объединение ресурсов Kubernetes Ingress в группы, каждая их которых обслуживается отдельным экземпляром Application Load Balancer. Укажите имя группы.

    (Опционально) Укажите дополнительные настройки контроллера:

    • ingress.alb.yc.io/internal-ipv4-address — предоставление внутреннего доступа к Application Load Balancer. Укажите внутренний IP-адрес, либо установите значение auto, чтобы получить IP-адрес автоматически.

      Примечание

      Вы можете одновременно использовать только один тип доступа к Application Load Balancer: ingress.alb.yc.io/external-ipv4-address или ingress.alb.yc.io/internal-ipv4-address.

    • ingress.alb.yc.io/internal-alb-subnet — подсеть для размещения внутреннего IP-адреса Application Load Balancer. Обязательный параметр, если выбран параметр ingress.alb.yc.io/internal-ipv4-address.

    • ingress.alb.yc.io/protocol — протокол соединений между балансировщиком и бэкендами:

      • http — HTTP/1.1. Значение по умолчанию.
      • http2 — HTTP/2.
      • grpc — gRPC.
    • ingress.alb.yc.io/transport-security — протокол шифрования соединений между балансировщиком и бэкендами:

      • tls — TLS без проверки сертификата.

      Если аннотация не указана, балансировщик соединяется с бэкендами без шифрования.

    • ingress.alb.yc.io/prefix-rewrite — замена пути на указанное значение.

    • ingress.alb.yc.io/upgrade-types — допустимые значения HTTP-заголовка Upgrade, например, websocket.

    • ingress.alb.yc.io/request-timeout — максимальный период, на который может быть установлено соединение.

    • ingress.alb.yc.io/idle-timeout — максимальный период, в течение которого соединение может простаивать без передачи данных.

      Значения для request-timeout и idle-timeout следует указывать с единицами измерения, например: 300ms, 1.5h. Допустимые единицы измерения:

      • ns — наносекунды.
      • us — микросекунды.
      • ms — миллисекунды.
      • s — секунды.
      • m — минуты.
      • h — часы.

      Примечание

      Настройки действуют только на хосты этого контроллера, но не на всю группу Ingress.

  2. В том же каталоге создайте файлы приложений demo-app-1.yaml и demo-app-2.yaml:

    demo-app1.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: alb-demo-1
    data:
      nginx.conf: |
        worker_processes auto;
        events {
        }
    
        http {
          server {
            listen 80 ;
            location = /_healthz {
              add_header Content-Type text/plain;
              return 200 'ok';
            }
            location / {
              add_header Content-Type text/plain;
              return 200 'Index';
            }
            location = /app1 {
              add_header Content-Type text/plain;
              return 200 'This is APP#1';
            }
          }
        }
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: alb-demo-1
      labels:
        app: alb-demo-1
        version: v1
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: alb-demo-1
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxSurge: 1
          maxUnavailable: 0
      template:
        metadata:
          labels:
            app: alb-demo-1
            version: v1
        spec:
          terminationGracePeriodSeconds: 5
          volumes:
            - name: alb-demo-1
              configMap:
                name: alb-demo-1
    
          containers:
            - name: alb-demo-1
              image: nginx:latest
              ports:
                - name: http
                  containerPort: 80
              livenessProbe:
                httpGet:
                  path: /_healthz
                  port: 80
                initialDelaySeconds: 3
                timeoutSeconds: 2
                failureThreshold: 2
              volumeMounts:
                - name: alb-demo-1
                  mountPath: /etc/nginx
                  readOnly: true
              resources:
                limits:
                  cpu: 250m
                  memory: 128Mi
                requests:
                  cpu: 100m
                  memory: 64Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: alb-demo-1
    spec:
      selector:
        app: alb-demo-1
      type: NodePort
      ports:
        - name: http
          port: 80
          targetPort: 80
          protocol: TCP
          nodePort: 30081
    
    demo-app2.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: alb-demo-2
    data:
      nginx.conf: |
        worker_processes auto;
        events {
        }
    
        http {
          server {
            listen 80 ;
            location = /_healthz {
              add_header Content-Type text/plain;
              return 200 'ok';
            }
            location / {
              add_header Content-Type text/plain;
              return 200 'Add app#';
            }
            location = /app2 {
              add_header Content-Type text/plain;
              return 200 'This is APP#2';
            }
          }
        }
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: alb-demo-2
      labels:
        app: alb-demo-2
        version: v1
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: alb-demo-2
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxSurge: 1
          maxUnavailable: 0
      template:
        metadata:
          labels:
            app: alb-demo-2
            version: v1
        spec:
          terminationGracePeriodSeconds: 5
          volumes:
            - name: alb-demo-2
              configMap:
                name: alb-demo-2
    
          containers:
            - name: alb-demo-2
              image: nginx:latest
              ports:
                - name: http
                  containerPort: 80
              livenessProbe:
                httpGet:
                  path: /_healthz
                  port: 80
                initialDelaySeconds: 3
                timeoutSeconds: 2
                failureThreshold: 2
              volumeMounts:
                - name: alb-demo-2
                  mountPath: /etc/nginx
                  readOnly: true
              resources:
                limits:
                  cpu: 250m
                  memory: 128Mi
                requests:
                  cpu: 100m
                  memory: 64Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: alb-demo-2
    spec:
      selector:
        app: alb-demo-2
      type: NodePort
      ports:
        - name: http
          port: 80
          targetPort: 80
          protocol: TCP
          nodePort: 30082
    
  3. Создайте Ingress-контроллер и приложения:

    kubectl apply -f .
    
  4. Дождитесь создания Ingress-контроллера и получения им публичного IP-адреса, это может занять несколько минут:

    kubectl get ingress alb-demo-tls
    

    Ожидаемый результат — непустое значение в поле ADDRESS для созданного Ingress-контроллера:

    NAME          CLASS   HOSTS           ADDRESS     PORTS    AGE
    alb-demo-tls  <none>  <доменное имя>  <IP-адрес>  80, 443  15h
    

    По конфигурации Ingress-контроллера будет автоматически развернут L7-балансировщик.

Для настройки группы бэкендов используйте CustomResourceDefinition HttpBackendGroup. В качестве бэкенда может выступать целевая группа Application Load Balancer или бакет Object Storage.

Чтобы настроить Application Load Balancer на работу с группой бэкендов:

  1. Создайте группу бэкендов с бакетом:

    1. Создайте публичный бакет в Object Storage.
    2. Настройте главную страницу сайта и страницу ошибки.
  2. Создайте конфигурационный файл приложения demo-app-1.yaml:

    demo-app1.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: alb-demo-1
    data:
      nginx.conf: |
        worker_processes auto;
        events {
        }
    
        http {
          server {
            listen 80 ;
            location = /_healthz {
              add_header Content-Type text/plain;
              return 200 'ok';
            }
            location / {
              add_header Content-Type text/plain;
              return 200 'Index';
            }
            location = /app1 {
              add_header Content-Type text/plain;
              return 200 'This is APP#1';
            }
          }
        }
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: alb-demo-1
      labels:
        app: alb-demo-1
        version: v1
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: alb-demo-1
      strategy:
        type: RollingUpdate
        rollingUpdate:
          maxSurge: 1
          maxUnavailable: 0
      template:
        metadata:
          labels:
            app: alb-demo-1
            version: v1
        spec:
          terminationGracePeriodSeconds: 5
          volumes:
            - name: alb-demo-1
              configMap:
                name: alb-demo-1
    
          containers:
            - name: alb-demo-1
              image: nginx:latest
              ports:
                - name: http
                  containerPort: 80
              livenessProbe:
                httpGet:
                  path: /_healthz
                  port: 80
                initialDelaySeconds: 3
                timeoutSeconds: 2
                failureThreshold: 2
              volumeMounts:
                - name: alb-demo-1
                  mountPath: /etc/nginx
                  readOnly: true
              resources:
                limits:
                  cpu: 250m
                  memory: 128Mi
                requests:
                  cpu: 100m
                  memory: 64Mi
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: alb-demo-1
    spec:
      selector:
        app: alb-demo-1
      type: NodePort
      ports:
        - name: http
          port: 80
          targetPort: 80
          protocol: TCP
          nodePort: 30081
    
  3. В отдельном каталоге создайте файл http-group.yaml, содержащий настройки объекта HttpBackendGroup:

    apiVersion: alb.yc.io/v1alpha1
    kind: HttpBackendGroup
    metadata:
      name: example-backend-group
    spec:
      backends: # Список бэкендов.
        - name: alb-demo-1
          weight: 70 # Относительный вес бэкенда при распределении трафика. Нагрузка будет распределяться пропорционально весам других бэкендов из группы. Укажите вес, даже если в группе один бэкенд.
          service:
             name: alb-demo-1
             port:
               number: 80
        - name: bucket-backend
          weight: 30
          storageBucket:
            name: <имя бакета>
    

    (Опционально) Укажите дополнительные настройки контроллера:

    • spec.backends.useHttp2 — режим использования протокола HTTP/2.
    • spec.backends.tls — сертификат удостоверяющего центра, которому балансировщик будет доверять при установке безопасного соединения с эндпоинтами бэкендов. Укажите содержимое сертификата в поле trustedCa в открытом виде.

    Подробнее см. в разделе Группы бэкендов.

  4. Создайте файл ingress-http.yaml и укажите в нем делегированное ранее доменное имя, идентификатор сертификата и настройки для Application Load Balancer:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: alb-demo-tls
      annotations:
        ingress.alb.yc.io/subnets: <список идентификаторов подсетей> # Одна или несколько подсетей, с которыми будет работать Application Load Balancer.
        ingress.alb.yc.io/security-groups: <список идентификаторов групп безопасности> # Одна или несколько групп безопасности для Application Load Balancer. Если параметр не задан, используется группа безопасности по умолчанию.
        ingress.alb.yc.io/external-ipv4-address: <auto или статический IP-адрес> # Предоставление публичного доступа к Application Load Balancer из интернета. Укажите заранее полученный IP-адрес, либо установите значение `auto`, чтобы получить новый.
        ingress.alb.yc.io/group-name: <имя Ingress-группы> # Объединение ресурсов Kubernetes Ingress в группы, каждая их которых обслуживается отдельным экземпляром Application Load Balancer.
    spec:
      tls:
        - hosts:
          - <доменное имя>
          secretName: yc-certmgr-cert-id-<идентификатор TLS-сертификата>
      rules:
        - host: <доменное имя>
          http:
            paths:
              - path: /app1
                pathType: Exact
                backend:
                  resource:
                    apiGroup: alb.yc.io
                    kind: HttpBackendGroup
                    name: example-backend-group
    

    (Опционально) Укажите дополнительные настройки контроллера:

    • ingress.alb.yc.io/internal-ipv4-address — предоставление внутреннего доступа к Application Load Balancer. Укажите внутренний IP-адрес, либо установите значение auto, чтобы получить IP-адрес автоматически.

      Примечание

      Вы можете одновременно использовать только один тип доступа к Application Load Balancer: ingress.alb.yc.io/external-ipv4-address или ingress.alb.yc.io/internal-ipv4-address.

    • ingress.alb.yc.io/internal-alb-subnet — подсеть для размещения внутреннего IP-адреса Application Load Balancer. Обязательный параметр, если выбран параметр ingress.alb.yc.io/internal-ipv4-address.

    • ingress.alb.yc.io/protocol — протокол соединений между балансировщиком и бэкендами:

      • http — HTTP/1.1. Значение по умолчанию.
      • http2 — HTTP/2.
      • grpc — gRPC.
    • ingress.alb.yc.io/prefix-rewrite — замена пути на указанное значение.

    • ingress.alb.yc.io/upgrade-types — допустимые значения HTTP-заголовка Upgrade, например, websocket.

    • ingress.alb.yc.io/request-timeout — максимальный период, на который может быть установлено соединение.

    • ingress.alb.yc.io/idle-timeout — максимальный период, в течение которого соединение может простаивать без передачи данных.

      Значения для request-timeout и idle-timeout следует указывать с единицами измерения, например: 300ms, 1.5h. Допустимые единицы измерения:

      • ns — наносекунды.
      • us — микросекунды.
      • ms — миллисекунды.
      • s — секунды.
      • m — минуты.
      • h — часы.

    Примечание

    Настройки действуют только на хосты этого контроллера, но не на всю группу Ingress.

  5. Создайте Ingress-контроллер, объект HttpBackendGroup и приложение Kubernetes:

    kubectl apply -f .
    
  6. Дождитесь создания Ingress-контроллера и получения им публичного IP-адреса, это может занять несколько минут:

    kubectl get ingress alb-demo-tls
    

    Ожидаемый результат — непустое значение в поле ADDRESS для созданного Ingress-контроллера:

    NAME          CLASS   HOSTS           ADDRESS     PORTS    AGE
    alb-demo-tls  <none>  <доменное имя>  <IP-адрес>  80, 443  15h
    

    По конфигурации Ingress-контроллера будет автоматически развернут L7-балансировщик.

Убедитесь в доступности приложений кластера Kubernetes через Application Load Balancer

  1. Добавьте A-запись в зону вашего домена. В поле Значение укажите публичный IP-адрес Ingress-контроллера.

  2. Настройте группы безопасности балансировщика.

  3. Проверьте работу Application Load Balancer:

    Сервисы Kubernetes
    Группа бэкендов

    Откройте в браузере URI приложений:

    https://<ваш домен>/app1
    https://<ваш домен>/app2
    

    Убедитесь, что приложения доступны через Application Load Balancer и возвращают страницы с текстом This is APP#1 и This is APP#2 соответственно.

    Откройте в браузере URI приложения:

    https://<ваш домен>/app1
    

    Убедитесь, что целевые ресурсы доступны через Application Load Balancer.

Удалите созданные ресурсы

Если созданные ресурсы вам больше не нужны, удалите их:

  1. Удалите кластер Managed Service for Kubernetes.
  2. Удалите целевые группы Application Load Balancer.
  3. Удалите бакет Object Storage.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Создайте пространство имен для Application Load Balancer Ingress-контроллера
  • Установите Application Load Balancer Ingress-контроллер
  • Создайте Ingress-контроллер и тестовые приложения
  • Убедитесь в доступности приложений кластера Kubernetes через Application Load Balancer
  • Удалите созданные ресурсы