Подготовка параметров для кластера VMware vSphere
Этот документ поможет вам собрать значения, необходимые для создания workload-кластера VMware vSphere из кластера global. Выполните этот контрольный список перед применением манифестов в Создание кластера в кластере global.
Содержание
СценарииПредварительные требованияКак использовать этот контрольный списокТерминологияmachine config poolСлот узлаСхема сети слотаdeviceNamevCenter resource poolCompute clusterDatastoreVM templateThumbprintПредварительные требования к management-кластеруПредварительные требования к vCenter и шаблонуИнформация о подключении к vCenterТребования к VM templateПредварительные требования к Load BalancerБазовые параметры кластераМинимальные параметры для single-datacenterРазмещение датацентра и ресурсовПараметры primary NICmachine config pool control planemachine config pool workerПараметры вычислительных ресурсовСтандартные диски данныхПоля persistent diskControl plane nodes (3 disks per node)Worker nodes (2 disks per node)Параметры размераПараметры vSphere CPIПараметры опциональных расширенийНесколько датацентров и несколько failure domainsПараметры второго NICИтоговая проверка готовностиСледующие шагиСценарии
Используйте этот контрольный список в следующих сценариях:
- Вы готовите развертывание нового кластера VMware vSphere.
- Вы хотите проверить внешние зависимости до начала развертывания.
- Вы планируете включить расширенные сценарии, такие как несколько датацентров, несколько NIC или дополнительные worker-узлы.
Предварительные требования
Перед началом убедитесь, что выполнены следующие условия:
- У вас есть доступ к кластеру
globalчерезkubectl. - Объекты workload-кластера должны храниться в namespace
cpaas-system. - У вас есть доступ к целевым инвентарям vCenter, сетям, datastore и шаблонам.
Как использовать этот контрольный список
Используйте этот контрольный список в следующем порядке:
- Соберите параметры развертывания, перечисленные в этом документе.
- Замените каждый placeholder в шаблонах манифестов фактическими значениями, собранными здесь.
- Повторно используйте одно и то же значение везде, где один и тот же placeholder встречается в нескольких манифестах.
- Если опциональная функция не включена, удалите соответствующий блок YAML в точности так, как описано в документе расширения.
- Если опциональное поле (например,
deviceName) не требуется, удалите всю строку из YAML-манифеста.
Терминология
Следующие термины последовательно используются во всех документах по созданию кластера VMware vSphere.
machine config pool
machine config pool — это custom resource VSphereMachineConfigPool. Он предварительно определяет слоты узлов. Каждый слот может включать:
- hostname узла
- целевой датацентр
- статическую IP-конфигурацию для каждого NIC
- определения постоянных дисков
На каждый VSphereMachineConfigPool может ссылаться только один KubeadmControlPlane или один MachineDeployment. Не используйте один VSphereMachineConfigPool совместно для нескольких control plane или worker-групп. Если pool уже привязан к другому потребителю, VSphereMachine сообщит о condition MachineConfigPoolReady=False с причиной PoolBoundToOtherConsumer.
Слот узла
Слот узла — это запись в VSphereMachineConfigPool.spec.configs[]. Один слот обычно соответствует одному узлу, например cp-01 или worker-01. hostname слота определяет имя узла Kubernetes, DNS SAN сертификата kubelet serving certificate и (в сочетании с разрешенными адресами primary NIC) node-ip kubelet; он должен быть допустимым DNS-1123 subdomain.
Схема сети слота
Каждый слот объявляет свою схему NIC в network.primary и network.additional:
network.primaryобязателен. ЕгоnetworkNameдолжен быть задан и используется как источник node-ip для kubelet.network.additional— это необязательный список дополнительных NIC, который объединяется после primary NIC в указанном порядке.
deviceName
deviceName — это необязательное поле в конфигурации сети VSphereMachineConfigPool. Оно используется для управления именем NIC, которое видно внутри гостевой операционной системы, например eth0 или eth1.
Используйте следующие различия при заполнении значений:
networkName— это имя сети или port group в vCenter.deviceName— это имя NIC внутри гостевой операционной системы.- Если
deviceNameопущен, CAPV обычно назначает именаeth0,eth1иeth2по порядку NIC.
vCenter resource pool
vCenter resource pool — это нативный объект инвентаря vCenter, например:
В сценариях расширения этот путь используется VSphereDeploymentZone.spec.placementConstraint.resourcePool.
Compute cluster
Compute cluster — это имя целевого compute-cluster в vCenter. В этих документах оно в основном используется, когда VSphereFailureDomain сопоставляется с конкретной целью развертывания.
Datastore
Datastore — это хранилище vSphere, в котором размещаются диски VM. И системные диски, и диски данных должны размещаться на конкретных datastore.
VM template
VM template — это исходный шаблон, который используется для создания виртуальных машин узлов. При включении нескольких датацентров один и тот же шаблон должен уже существовать в каждом целевом датацентре и должен определяться по одному и тому же имени шаблона.
Thumbprint
Thumbprint — это SHA-1 fingerprint сертификата сервера vCenter. CAPV использует его для проверки целевого сервера vCenter.
Используйте следующую команду, чтобы получить его:
Предварительные требования к management-кластеру
Используйте следующую таблицу для записи требуемых значений и результатов проверки.
Предварительные требования к vCenter и шаблону
Информация о подключении к vCenter
Примечание: В этих документах предполагается стандартный HTTPS-port vCenter 443.
Требования к VM template
Шаблон также должен соответствовать следующим требованиям:
- Он использует операционную систему, поддерживаемую вашей policy образов платформы.
- Он включает
cloud-init. - Он включает VMware Tools или
open-vm-tools. - Он включает
containerd. - Он включает базовые компоненты, необходимые для bootstrap kubeadm.
- Он включает заранее экспортированные container image tar files в
/root/images/. Эти файлы импортируются вcontainerdскриптомcapv-load-local-images.shдо запуска kubeadm, чтобы bootstrap узла не зависел от загрузки образов из удаленного registry. - Файлы
/root/images/*.tarобязательно должны включать sandbox (pause) image, ссылка на который в точности совпадает со значениемsandbox_image(containerd v1) илиsandbox(containerd v2), настроенным в/etc/containerd/config.toml. Например, еслиcontainerdнастроен сsandbox_image = "registry.example.com/tkestack/pause:3.10", один из tar-файлов должен содержать именно эту ссылку на образ. Несоответствие приводит к тому, чтоcontainerdбудет загружать sandbox image из сети, что сводит на нет смысл локальной предварительной загрузки и приводит к сбою в air-gapped окружениях.
Предварительные требования к Load Balancer
Базовые параметры кластера
Минимальные параметры для single-datacenter
Размещение датацентра и ресурсов
Параметры primary NIC
machine config pool control plane
machine config pool worker
Параметры вычислительных ресурсов
Стандартные диски данных
Каждая роль узла требует набора выделенных дисков данных. Перечисленные ниже диски являются минимально необходимыми. Вы можете добавить дополнительные диски в список persistentDisks, если они требуются вашему workload.
Поля persistent disk
Control plane nodes (3 disks per node)
Worker nodes (2 disks per node)
Параметры размера
Параметры vSphere CPI
Параметры опциональных расширений
Несколько датацентров и несколько failure domains
Параметры второго NIC
Итоговая проверка готовности
Перед началом развертывания подтвердите все следующие пункты:
- Кластер
globalдоступен. - Убедитесь, что установлены два cluster plugin: Alauda Container Platform Kubeadm Provider и Alauda Container Platform VMware vSphere Infrastructure Provider.
ClusterResourceSet=trueвключен.- Сервер vCenter, имя пользователя, пароль и thumbprint собраны.
- Control plane VIP, load balancer и порт
6443готовы. - Pod CIDR, Service CIDR и
kube-ovn-join-cidrне пересекаются с существующими сетями. - VM template доступен в каждом требуемом датацентре.
- Необходимые datastore и пути resource pool в vCenter подтверждены.
- Значения machine config pool для минимальной single-datacenter topology заполнены.
- Подтверждены размеры базовых системных дисков и дисков данных.
- Каждый требуемый параметр имеет фактическое значение.
Следующие шаги
После завершения этого контрольного списка перейдите к Создание кластера в кластере global.