Настройка доступа к кластеру Kubernetes из Интернета

Чтобы опубликовать приложение, cоздайте сервис Load Balancer и сетевое правило DNAT в консоли управления Enterprise.

Создание сервиса Load Balanсer

Сохраните следующую спецификацию для создания сервиса Load Balancer в YAML-файл с названием lb-service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: example-service-2
spec:
  selector:
    app: web
  ports:
    - port: 8080
      targetPort: 8080
  type: LoadBalancer
  loadbalancerIP: 192.168.0.101

Где:

  • port — порт сетевого балансировщика, на котором будут обслуживаться пользовательские запросы.

  • targetPort — порт контейнера, на котором доступно приложение.

  • selector — метки селектора, использованные в шаблоне подов при создании объекта Deployment.

  • loadbalancerIP — (опциональный праметр) IP-адресс для сервиса LoadBalancer. Укажите IP-адрес из диапазона адресов (0.101 — 0.200), выделенных для узлов компонентов кластера (CIDR сети узлов).

Опционально, добавьте в спецификацию алгоритм балансировки. Для этого добавьте аннотацию:

annotations:
service.beta.kubernetes.io/sks-loadbalancer-algorithm: least_connection

См.также

Подробнее о Load Balancer.

Настройка сетевых параметров

Чтобы настроить сетевые параметры:

  1. Авторизуйтесь в консоли управления Enterprise.

    Примечание

    Данные для входа в консоль управления предоставляет специалист Cloud после заказа услуги Managed Kubernetes.

  2. Нажмите на карточку Дата-центра и в меню слева выберите Edges.

  3. Выберите пограничный маршрутизатор (Edge gateway).

  4. Добавьте Application Port Profile (внутренний порт, по которому приложение доступно внутри кластера Kubernetes). Для этого перейдите на вкладку Application Port Profiles, нажмите NEW и установите следующие параметры:

    • Name — введите имя профиля порта приложения.

    • Protocol — выберите протокол TCP.

    • Ports — установите порт 6443.

  5. Создайте правило для сети. Для этого перейтите на вкладку NAT и нажмите NEW.

  6. Установите следующие обязательные параметры для правила в окне Add NAT Rule:

    • Description — краткое описание правила.

    • State — статус правила. Активируйте чек-бокс.

    • Interface Type — выберите тип DNAT.

    • External IP — укажите внешний IP-адрес добавленный для Edges. Чтобы узнать внешний IP-адрес добавленный для Edges перейдите в раздел Edges, нажмите на название Edge Gateway и перейдите в раздел IP Allocation.

    • External Port — внешний порт для подключения из Интернета.

    • Internal IP — добавьте IP-адрес указанный при создании сервиса Load Balancer.

    • Application — выберите добавленный ранее Application Port Profile.

  7. Нажмите Save.

  8. Создайте правило для Firewall:

    1. Создайте IP Set для сервиса Load Balancer. Для этого перейдите на вкладку IP Sets, нажмите NEW и установите следующие параметры:

      • Name — имя IP Set.

      • IP Addresses — IP-адрес Load Balancer.

    2. Нажмите Save.

    3. Перейдите на вкладку Firewall, нажмите Edit Rules→New on top и установите параметры:

      • Name — имя правила.

      • State — активируйте чек-бокс.

      • Source — активируйте чек-бокс Any Source.

      • Destination — выберите созданный IP set.

      • Action — установите значение Allow.

      • IP Protocol — выберите IPv4.

    4. Нажмите Save.

Внимание

При создании правила для Firewall через Terraform в описании правила необходимо указать параметр direction = «IN_OUT». При создании правила в консоли управления Enterprise данный параметр устанавливается автоматически и имеет значение «IN_OUT».