Настройка доступа к кластеру Kubernetes из интернета
Чтобы опубликовать приложение, cоздайте сервис Load Balancer и сетевое правило DNAT в консоли управления платформы Облако VMware.
Создание сервиса Load Balanсer
Сохраните следующую спецификацию для создания сервиса Load Balancer в YAML-файл с названием lb-service.yaml:
apiVersion: v1kind: Servicemetadata:name: example-service-2spec:selector:app: webports:- port: 8080targetPort: 8080type: LoadBalancerloadbalancerIP: 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.
Настройка сетевых параметров
Чтобы настроить сетевые параметры:
-
Авторизуйтесь в консоли управления платформы Облако VMware.
ПримечаниеДанные для входа в личный кабинет предоставляет специалист Cloud.ru после заказа услуги Managed Kubernetes.
-
Нажмите на карточку Дата-центра и в меню слева выберите Edges.
-
Выберите пограничный маршрутизатор (Edge gateway).
-
Добавьте Application Port Profile (внутренний порт, по которому приложение доступно внутри кластера Kubernetes). Для этого перейдите на вкладку Application Port Profiles, нажмите NEW и установите следующие параметры:
-
Name — введите имя профиля порта приложения.
-
Protocol — выберите протокол TCP.
-
Ports — установите порт 6443.
-
-
Создайте правило для сети. Для этого перейтите на вкладку NAT и нажмите NEW.
-
Установите следующие обязательные параметры для правила в окне 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.
-
-
(Опционально) Нажмите Advanced Settings и в параметре Priority установите приоритет для правила.
Для каждого кластера Kubernetes на Edge создается правило NOSNAT по умолчанию с приоритетом 0, обеспечивающее сетевую связность. Если на Edge существуют правила NOSNAT или SNAT с тем же приоритетом 0 и пересекающиеся с подсетью кластера Kubernetes (значение Destination IP), то таким правилам следует установить приоритет ниже (1 и далее). В случае пересечения правил NAT c приоритетом 0 кластер Kubernetes может работать некорректно.
-
Нажмите Save.
-
Создайте правило для Firewall:
-
Создайте IP Set для сервиса Load Balancer. Для этого перейдите на вкладку IP Sets, нажмите NEW и установите следующие параметры:
-
Name — имя IP Set.
-
IP Addresses — IP-адрес Load Balancer.
-
-
Нажмите Save.
-
Перейдите на вкладку Firewall, нажмите Edit Rules→New on top и установите параметры:
-
Name — имя правила.
-
State — активируйте чекбокс.
-
Source — выберите Any Source.
-
Destination — выберите созданный IP set.
-
Action — установите значение Allow.
-
IP Protocol — выберите IPv4.
-
-
Нажмите Save.
-
При создании правила для Firewall через Terraform в описании правила необходимо указать параметр direction = «IN_OUT».
Подробное описание параметров для правил Firewall в Terraform доступно по ссылке (en):
https://registry.terraform.io/providers/vmware/vcd/3.3.0/docs/resources/nsxt_firewall#firwall-rule
При создании правила в консоли управления платформы Облако VMware данный параметр устанавливается автоматически и имеет значение «IN_OUT».
Подробнее о создании IP Set и правила для Firewall.
Подробнее о настройке сетевых параметров.
- Создание сервиса Load Balanсer
- Настройка сетевых параметров