Инфраструктурные ресурсы для Huawei Cloud Stack
Содержание
ОбзорПеред написанием YAMLВходные данные для Secret с учетными даннымиВычисляемые значенияБазовый уровень версии и компонентовИнвентарь сетиОграничения Multi-NICПлан адресов ELB control planeОперационные ограниченияПлан пула статических IP-адресовСопоставление значений с YAMLСледующие шагиОбзор
Перед тем как писать YAML для кластера Huawei Cloud Stack (HCS), сначала подготовьте все необходимые входные данные HCS. На этой странице перечислены значения, источники и ограничения, которые должны быть готовы до заполнения любого манифеста Secret, HCSMachineConfigPool, HCSMachineTemplate, KubeadmControlPlane или HCSCluster.
Используйте эту страницу как контрольный список подготовки. После завершения перейдите к Создание кластеров в Huawei Cloud Stack и Управление узлами в Huawei Cloud Stack для рабочего процесса с манифестами.
Требование к Namespace
Все инфраструктурные ресурсы HCS должны быть развернуты в namespace cpaas-system, чтобы обеспечить корректную интеграцию с платформой в качестве business clusters.
Перед написанием YAML
Подготовьте следующие входные данные, прежде чем создавать или редактировать какие-либо манифесты кластера:
Входные данные для Secret с учетными данными
Создавайте Secret с учетными данными HCS только после того, как соберете все необходимые значения.
Примечание: Администраторы арендатора не могут получить region из UI HCS. Получите точное значение, распознаваемое провайдером, у администратора HCS до кодирования Secret.
Вычисляемые значения
Подготовьте VM image, flavor, availability zone и схему дисков перед написанием HCSMachineTemplate.
Примечание: Администраторы арендатора не могут получить значения flavorName и availabilityZone, распознаваемые провайдером, из UI HCS. Получите точные значения API у администратора HCS перед написанием манифеста.
Базовый уровень версии и компонентов
Используйте Матрицу поддержки ОС только для тех версий компонентов, которые она явно перечисляет, таких как Kubernetes, coredns, etcd и версии pause для поддерживаемых образов MicroOS.
Матрица поддержки ОС не является полным источником для всех значений манифеста HCS. Перед написанием YAML также получите одобренный базовый уровень релиза для таких значений, как репозиторий образов контейнеров, репозиторий образов DNS, версия Kube-OVN, Kube-OVN join CIDR, Pod CIDR и Service CIDR. Если ваш релиз еще не публикует полный источник базового уровня, используйте значения, проверенные для вашей среды платформой или владельцем релиза.
Инвентарь сети
Подготовьте полный сетевой инвентарь кластера перед тем, как писать ресурсы HCSCluster или HCSMachineConfigPool.
Ваш сетевой план должен включать:
- Имя целевого VPC
- Имя целевой группы безопасности
- Имя каждой подсети, которую будет использовать кластер
- ID подсети и метаданные подсети, связанные с ELB, для каждой подсети
- CIDR каждой подсети
- Значение gateway и DNS для каждой подсети
- Планируемые диапазоны свободных IP-адресов для узлов control plane, worker, VIP ELB и виртуальных IP подсетей ELB L4/L7
Если один кластер использует несколько подсетей, эти подсети должны принадлежать одной и той же VPC и должны позволять узлам кластера связываться друг с другом.
Важно: HCSCluster.spec.network.subnets — это инвентарь подсетей кластера. Каждое subnetName, на которое ссылаются HCSMachineConfigPool, vipSubnetName, elbVirsubnetL4Ips[].subnetName и elbVirsubnetL7Ips[].subnetName, должно уже существовать в этом списке.
Для первоначального сценария создания кластера контроллер может разрешать существующие подсети по имени до того, как кластер станет Ready. Для существующего Ready-кластера не добавляйте только имя подсети. Добавляйте полный объект подсети, включая как минимум name, id и, если подсеть используется ELB control plane, neutronSubnetId. Сохраняйте в инвентаре также cidr, gatewayIp, primaryDNS и secondaryDNS, чтобы список подсетей кластера оставался полным.
Ограничения Multi-NIC
Несколько NIC объявляются в HCSMachineConfigPool.spec.configs[].networks[]. Каждый элемент networks[] выбирает только подсеть и статический IP-адрес для одной NIC.
Текущий провайдер не позволяет задавать:
- Роль или назначение каждой NIC, например трафик управления, сервисный или storage
- Gateway по умолчанию для конкретной NIC
- Статические маршруты или метрики маршрутов
- Параметры DNS для каждой NIC
Рассматривайте текущую возможность Multi-NIC как подключение NIC плюс выбор подсети и статического IP-адреса.
План адресов ELB control plane
Провайдер HCS автоматически создает Elastic Load Balance (ELB) для control plane. Спланируйте входные данные ELB перед тем, как писать HCSCluster.
В этой документации используется рабочий процесс ELB с фиксированным адресом. Подготовьте все адреса, связанные с ELB, перед написанием HCSCluster:
vipSubnetNamevipAddresselbVirsubnetL4Ipsс ровно двумя IP-адресами L4elbVirsubnetL7Ipsс ровно двумя IP-адресами L7- Необязательный
vipDomainName
Если вы задаете vipDomainName, настройте HCS Cloud DNS Private Zones так, чтобы домен уже разрешался в vipAddress.
Операционные ограничения
- Провайдер создает ELB и включает Hybrid Load Balancing, чтобы узлы кластера могли обращаться к API server через адрес ELB.
- Не отключайте Hybrid Load Balancing на ELB HCS после создания кластера.
- Не указывайте
spec.controlPlaneEndpointв манифесте создания. Контроллер заполнит это поле после готовности ELB.
План пула статических IP-адресов
Эта страница сосредоточена на рабочем процессе со статическими IP-адресами.
Подготовьте следующее перед созданием ресурсов HCSMachineConfigPool:
- Имена хостов и статические IP-адреса control plane
- Имена хостов и статические IP-адреса worker, если worker создаются
- Достаточное количество записей для покрытия начального количества реплик
Для control plane со статическими IP-адресами и как минимум тремя репликами рекомендуемый путь обновления использует KubeadmControlPlane.spec.rolloutStrategy.rollingUpdate.maxSurge: 0. Такой подход с уменьшением, а затем увеличением количества обычно не требует дополнительных IP-адресов control plane. Если вы планируете топологию только для создания с одним control plane (replicas: 1), не копируйте этот параметр rollout в манифест создания. Подготавливайте дополнительные слоты для хостнеймов и IP только тогда, когда планируете увеличить число реплик control plane или задать maxSurge больше 0.
Сопоставление значений с YAML
Используйте следующее сопоставление после завершения контрольного списка подготовки:
Следующие шаги
После завершения контрольного списка подготовки:
- Следуйте Создание кластеров в Huawei Cloud Stack, чтобы написать манифесты control plane и инфраструктуры
- Следуйте Управление узлами в Huawei Cloud Stack, чтобы добавить или изменить worker nodes