| Функция | Статус поддержки | Требования |
|---|---|---|
| LoadBalancer Service | Поддержка по умолчанию | Дополнительное развертывание не требуется. |
| Ingress | Поддержка по умолчанию | Опционально можно включить функциональность Ingress Class (после включения можно вручную выбирать классы ingress при создании ingress через интерфейс формы). Дополнительное развертывание не требуется. |
Если вы создали кластер CCE, импортируйте кластер CCE (Public Cloud).
Вы можете создавать ingress и LoadBalancer сервисы одновременно или выбрать один из них в зависимости от ваших потребностей.
Существует два способа создания ingress. Рекомендуется Способ 1: Ручной выбор класса Ingress.
Примечание: Избегайте создания двух ресурсов ingress с одинаковым path.
(Рекомендуемый) Способ 1: Ручной выбор класса Ingress
В Container Platform нажмите Network > Ingress в левом навигационном меню.
Нажмите Create Ingress и выберите CCE Ingress Class для Ingress Class.
Выберите Protocol. По умолчанию — HTTP. Для HTTPS сначала создайте сертификат и выберите его.
Переключитесь на YAML и добавьте следующие аннотации в зависимости от типа вашего Ingress Controller по умолчанию. Подробности об аннотациях смотрите в разделе Использование аннотаций для настройки Load Balancer:
Примечание: Замените значения в аннотациях ниже на реальные значения вашей среды.
| Тип Ingress Controller по умолчанию | Аннотации |
|---|---|
| Shared (Автосоздание) | kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_name":"{random}","bandwidth_chargemode":"traffic","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp"}'kubernetes.io/elb.class: union |
| Shared (Повторное использование) | kubernetes.io/elb.class: unionkubernetes.io/elb.id: <Load Balancer Instance ID>kubernetes.io/elb.port: '80' |
| Dedicated (Автосоздание) | kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_name":"<Bandwidth Name>","bandwidth_chargemode":"traffic","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp","available_zone":["<AZ A>","<AZ B>","<AZ C>"],"elb_virsubnet_ids":["<ELB Virtual Subnet ID>"],"l7_flavor_name":"L7_flavor.elb.s1.small","l4_flavor_name":"L4_flavor.elb.s1.small"}'kubernetes.io/elb.class: performancekubernetes.io/elb.port: "80" |
| Dedicated (Повторное использование) | kubernetes.io/elb.class: performancekubernetes.io/elb.id: <Load Balancer Instance ID>kubernetes.io/elb.port: "80" |
Нажмите Create. После создания вы сможете получить доступ к сервисам кластера через ELB.
Способ 2: Использование класса Ingress по умолчанию
Создайте YAML-файл IngressClass со следующим содержимым. Подробности смотрите в разделе Класс Ingress по умолчанию:
Сохраните файл и примените его к импортированному кластеру. Замените <filename.yaml> на имя вашего YAML-файла:
В Container Platform нажмите Network > Ingress в левом навигационном меню.
Выберите Protocol. По умолчанию — HTTP. Для HTTPS сначала создайте сертификат и выберите его.
Нажмите Create. После создания вы сможете получить доступ к сервисам кластера через ELB.
В Container Platform нажмите Network > Services в левом навигационном меню.
Нажмите Create Service и выберите LoadBalancer для External Access.
Разверните раздел annotations и при необходимости заполните аннотации для сервиса LoadBalancer.
Нажмите Create.
При использовании протокола HTTPS заранее сохраните учетные данные HTTPS-сертификата в Secret (тип TLS).
В Container Platform нажмите Configuration > Secrets в левом навигационном меню.
Нажмите Create Secret.
Выберите тип TLS и импортируйте или заполните поля Certificate и Private Key по необходимости.
Нажмите Create.