Масштабирование на нескольких компьютерах
Теперь, когда AKS Edge Essentials устанавливается на основном компьютере, в этой статье описывается, как масштабировать кластер на другие вторичные компьютеры для создания развертывания с несколькими компьютерами.
Внимание
Масштабирование до дополнительных узлов — это экспериментальная функция.
Необходимые компоненты
- Настройте масштабируемый кластер Kubernetes.
- Настройте вторичные компьютеры, как описано в статье "Настройка компьютера". Вы не можете смешивать разные дистрибутивы Kubernetes в кластере. Если кластер на основном компьютере работает под управлением K8s, необходимо также установить MSI K8s на дополнительных компьютерах.
Шаг 1. Получение конфигурации кластера с основного компьютера
На основном компьютере, на котором вы создали масштабируемое развертывание, выполните следующие действия в окне PowerShell с повышенными привилегиями, чтобы создать соответствующий файл конфигурации на основе ваших требований.
Чтобы масштабировать, добавив рабочий узел только для Linux, создайте необходимый файл конфигурации с помощью следующей команды и укажите "Linux" и укажите
NodeType
уникальный и доступный IP-адрес для этого узла:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Чтобы масштабировать, добавив дополнительный узел плоскости управления Linux, укажите значение "Linux", задайте
ControlPlane
флаг true и укажитеNodeType
уникальный IP-адрес для узла Linux:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
Чтобы масштабировать, добавив рабочий узел только для Windows, укажите "Windows" и укажите
NodeType
уникальный IP-адрес для узла Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Windows -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Чтобы добавить рабочий узел Linux и Windows, укажите "LinuxAndWindows" и укажите
NodeType
уникальный IP-адрес для узлов Linux и Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
Чтобы добавить узел уровня управления Linux и рабочий узел Windows, укажите в качестве
true
флага LinuxAndWindows иControlPlane
укажитеNodeType
уникальный IP-адрес для узлов Linux и Windows:New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
Эти команды экспортируют необходимые данные для присоединения кластера в формате JSON, возвращают его в виде строки JSON и хранят его в файле, указанном с помощью outFile
параметра.
Внимание
При каждом выполнении New-AksEdgeScaleConfig
команды ранее созданная ClusterJoinToken
ранее ошибка становится недопустимой, поэтому вы не можете использовать ранее созданный файл ScaleConfig.json . Кроме того, ClusterJoinToken
допустимо только в течение 24 часов.
Шаг 2. Проверка параметров конфигурации
Файл конфигурации .\ScaleConfig.json включает конфигурацию с основного компьютера. Просмотрите и обновите необходимые разделы и укажите сведения, относящиеся к компьютеру, на котором выполняется масштабирование.
NetworkConnection.AdapterName
Проверьте ссылку на дополнительный компьютер. Если вы создали внешний коммутатор на дополнительном компьютере Hyper-V, можно указать сведения о vswitch в файле ScaleConfig.json . Если вы не создаете внешний коммутатор в диспетчере Hyper-V и выполняетеNew-AksEdgeDeployment
команду, AKS Edge Essentials автоматически создает внешний коммутатор с именемaksedgesw-ext
и использует его для развертывания.Примечание.
В этом выпуске существует известная проблема при автоматическом создании внешних коммутаторов с
New-AksEdgeDeployment
помощью команды, если вы используете адаптер Wi-Fi для коммутатора. В этом случае сначала создайте внешний коммутатор с помощью диспетчера Hyper-V — диспетчера виртуальных коммутаторов и сопоставить коммутатор с адаптером Wi-Fi. Затем укажите сведения о коммутаторе в формате JSON конфигурации, как описано в этом разделе.Значение
Network.NetworkPlugin
поflannel
умолчанию. Flannel — это CNI по умолчанию для кластера K3S. Для кластера K8S измените значениеNetworkPlugin
calico
.Проверьте конфигурацию ресурсов для вторичных узлов. Эти параметры можно изменить по мере необходимости. Убедитесь, что для каждого узла достаточно памяти. Если вы указали
MacAddress
на основном компьютере, проверьте и укажите правильный MAC-адрес, соответствующий вторичному компьютеру.Нечетное число узлов плоскости управления является единственным поддерживаемым параметром. Таким образом, если вы хотите увеличить или уменьшить уровень управления, убедитесь, что у вас есть один, три или пять узлов плоскости управления.
Шаг 3. Создание узла на дополнительном компьютере
Теперь вы готовы открыть узлы на дополнительных компьютерах и добавить их в кластер.
Чтобы развернуть соответствующий узел на дополнительном компьютере, теперь можно использовать файл ScaleConfig.json , созданный на предыдущем шаге:
New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json
Шаг 4. Проверка настройки кластера
На любом узле в кластере выполните следующий командлет:
kubectl get nodes -o wide
Вы должны видеть все узлы кластера.
Шаг 5. Добавление дополнительных узлов
Вы можете создать новый файл ScaleConfig на основе nodeType, необходимого, повторяя шаги 1-4. Убедитесь, что вы предоставляете IP-адреса, доступные в сети при каждом добавлении узла.
Шаг 6. Добавьте второй узел (Linux или Windows) на компьютере с уже имеющимся узлом (необязательно)
Вы можете добавить еще один узел на существующий компьютер, у котором уже есть узел. Например, если компьютер работает с узлом Linux, можно добавить в него узел Windows:
New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -WindowsNodeIp "xxx" -outFile .\ScaleConfig.json | Out-Null
Можно также указать такие параметры, как CpuCount
и (или) MemoryInMB
для виртуальной машины Windows.
Примечание.
Запуск выполняется New-AksEdgeScaleConfig
только на компьютерах с узлом Linux с ролью ControlPlane .
Вы можете использовать созданный файл конфигурации и выполнить следующую команду, чтобы добавить узел Windows:
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
Вы также можете указать такие параметры, как CpuCount
и (или) MemoryInMB
для виртуальной машины Windows.