Создать сервис
В консоли Elastic Load Balance можно создать несколько сервисов.
ClusterIP
Сервис ClusterIP позволяет рабочим нагрузкам в одном кластере использовать их внутренние доменные имена для доступа друг к другу.
В списке сервисов выберите Cloud Container Engine.
Нажмите на название кластера, в котором нужно создать ClusterIP.
В меню слева выберите Services & Ingresses.
В правом верхнем углу нажмите Create Service.
Задайте параметры сервиса:
Service Name — название сервиса.
Service Type — тип сервиса ClusterIP.
Selector — добавьте метку ключ/значение (key/value) и нажмите Confirm. Сервис будет использовать эту метку для выбора подов.
Чтобы использовать метку существующей рабочей нагрузки, нажмите Reference Workload Label, выберите рабочую нагрузку и нажмите OK.
Protocol — тип протокола (TCP или UDP), который использует сервис.
Container Port — порт рабочей нагрузки, который использует сервис, в диапазоне от 1 до 65535. Например, Nginx по умолчанию использует порт 80.
Service Port — порт, который использует сервис, в диапазоне от 1 до 65535.
Нажмите OK.
NodePort
В списке сервисов выберите Cloud Container Engine.
Нажмите на название кластера, в котором нужно создать NodePort.
В меню слева выберите Services & Ingresses.
В правом верхнем углу нажмите Create Service.
Задайте параметры сервиса:
Service Name — название сервиса.
Service Type — тип сервиса NodePort.
Service Affinity — уровень доступа Cluster-level или Node-level.
Cluster-level — IP-адреса и порты всех узлов в кластере могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису приведет к потере производительности из-за перенаправления маршрута.
Node-level — только IP-адрес и порт узла, где находится рабочая нагрузка, могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису не приведет к потере производительности из-за перенаправления маршрута.
Selector — добавьте метку ключ/значение (key/value) и нажмите Confirm. Сервис будет использовать эту метку для выбора подов.
Чтобы использовать метку существующей рабочей нагрузки, нажмите Reference Workload Label, выберите рабочую нагрузку и нажмите OK.
Protocol — тип протокола (TCP или UDP), который использует сервис.
Container Port — порт рабочей нагрузки, который использует сервис, в диапазоне от 1 до 65535. Например, Nginx по умолчанию использует порт 80.
Service Port — порт, который использует сервис, в диапазоне от 1 до 65535.
Node Port — порт ноды в диапазоне от 30000 до 32767.
Нажмите OK.
LoadBalancer
Сервис LoadBalancer позволяет настроить более надежный доступ к рабочим нагрузкам из внешней сети.
В списке сервисов выберите Cloud Container Engine.
Нажмите на название кластера, в котором нужно создать LoadBalancer.
В меню слева выберите Services & Ingresses.
В правом верхнем углу нажмите Create Service.
Задайте параметры сервиса:
Service Name — название сервиса.
Service Type — тип сервиса LoadBalancer.
Service Affinity — уровень доступа Cluster-level или Node-level.
Cluster-level — IP-адреса и порты всех узлов в кластере могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису приведет к потере производительности из-за перенаправления маршрута.
Node-level — только IP-адрес и порт узла, где находится рабочая нагрузка, могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису не приведет к потере производительности из-за перенаправления маршрута.
Selector — добавьте метку ключ/значение (key/value) и нажмите Confirm. Сервис будет использовать эту метку для выбора подов.
Чтобы использовать метку существующей рабочей нагрузки, нажмите Reference Workload Label, выберите рабочую нагрузку и нажмите OK.
В поле Load Balancer:
выберите тип балансировщика — Shared или Dedicated;
выберите тип сети — Network (TCP/UDP), Application (HTTP/HTTPS) или Network (TCP/UDP) & Application (HTTP/HTTPS);
используйте существующий балансировщик или создайте новый — Use existing или Auto create:
Можно выбрать только балансировщики нагрузки в той же сети VPC, что и кластер. Чтобы создать балансировщик нагрузки в консоли Elastic Load Balance, нажмите Create Load Balancer.
выберите алгоритм балансировки — нажмите Edit и в поле Algorithm выберите Weighted round robin, Weighted least connection или Source IP hash;
активируйте Sticky Session при необходимости.
В поле Health Check настройте проверку работоспособности — Disable, Global или Custom.
При выборе Global нажмите
и задайте параметры проверки:
Protocol — тип протокола (TCP или HTTP).
При выборе HTTP в поле Check Path укажите URL для проверки работоспособности.
Port — способ определения порта для проверки работоспособности:
Use service port — используется порт сервиса.
Use new port — новый порт.
При выборе Use new port в поле Node Port задайте порт в диапазоне от 30000 до 32767 и в поле Container Port — в диапазоне от 1 до 65535.
Check Period (s) — частота проверки (1–50 секунд).
Timeout (s) — время ожидания отклика (1–50 секунд).
Max. Retries — максимальное количество проверки работоспособности, по истечении которых контейнер будет признан неработоспособным (1–10).
В поле Port укажите:
Protocol — тип протокола (TCP или UDP), который использует сервис.
Container Port — порт рабочей нагрузки, который использует сервис, в диапазоне от 1 до 65535. Например, Nginx по умолчанию использует порт 80.
Service Port — порт, который использует сервис, в диапазоне от 1 до 65535.
В поле Listener для Access Control настройте контроль доступа:
Inherit ELB Configurations — наследование настроек доступа балансировщика ELB.
Allow all IP addresses — контроль доступа не настроен, все IP-адреса разрешены.
Trustlist — доступ к балансировщику открыт только для определенной группы IP-адресов.
Blocklist — доступ к балансировщику закрыт для определенной группы IP-адресов.
В поле Annotation можно настроить дополнительные параметры с помощью аннотаций.
Нажмите OK.
DNAT
В списке сервисов выберите Cloud Container Engine.
Нажмите на название кластера, в котором нужно создать DNAT.
В меню слева выберите Services & Ingresses.
В правом верхнем углу нажмите Create Service.
Задайте параметры сервиса:
Service Name — название сервиса.
Service Type — тип сервиса DNAT.
Service Affinity — уровень доступа Cluster-level или Node-level.
Cluster-level — IP-адреса и порты всех узлов в кластере могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису приведет к потере производительности из-за перенаправления маршрута.
Node-level — только IP-адрес и порт узла, где находится рабочая нагрузка, могут получить доступ к рабочей нагрузке, связанной с сервисом. Доступ к сервису не приведет к потере производительности из-за перенаправления маршрута.
Selector — добавьте метку ключ/значение (key/value) и нажмите Confirm. Сервис будет использовать эту метку для выбора подов.
Чтобы использовать метку существующей рабочей нагрузки, нажмите Reference Workload Label, выберите рабочую нагрузку и нажмите OK.
DNAT — выберите NAT-шлюз и публичный IP-адрес или создайте новые:
См.такжеProtocol — тип протокола (TCP или UDP), который использует сервис.
Container Port — порт рабочей нагрузки, который использует сервис, в диапазоне от 1 до 65535. Например, Nginx по умолчанию использует порт 80.
Service Port — порт, который использует сервис, в диапазоне от 1 до 65535.
Нажмите OK.
После создания сервис появится в списке на вкладке Services.
- ClusterIP
- NodePort
- LoadBalancer
- DNAT