Поделиться через


Масштабирование на нескольких компьютерах

Теперь, когда 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.

Следующие шаги