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

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

Создание сервиса 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 смотрите в документации Kubernetes.

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

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

  1. Авторизуйтесь в VMware Cloud Director.

    Примечание

    Данные для входа в VMware Cloud Director предоставляет специалист SberCloud после заказа услуги Platform V 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». При создании правила в VMware Cloud Director данный параметр устанавливается автоматически и имеет значение «IN_OUT».

См.также

Подробнее о создании IP Set и правила для Firewall смотрите здесь.

Подробнее о настройке сетевых параметров смотрите в документации VMware Cloud Director.