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


Развертывание одного компьютера

Вы можете развернуть AKS Edge Essentials на одном компьютере или на нескольких компьютерах. В одном развертывании Kubernetes узел управления Kubernetes и рабочий узел выполняются на одном компьютере. В этой статье описывается, как создать узел управления Kubernetes на компьютере в частной сети.

Необходимые компоненты

Настройте основной компьютер, как описано в разделе "Настройка компьютера".

Шаг 1. Параметры конфигурации одного компьютера

Вы можете создать параметры, необходимые для создания одного кластера компьютера, с помощью следующей команды:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null

Эта команда создает файл конфигурации с именем aksedge-config.json , который включает конфигурацию, необходимую для создания кластера с одним компьютером с узлом Linux. Файл создается в текущем рабочем каталоге. Дополнительные варианты создания файла конфигурации см. в следующих примерах.

Дополнительные сведения о параметрах конфигурации конфигурации см . в разделе "Конфигурация JSON развертывания".

Ключевыми параметрами для развертывания одного компьютера являются:

  • DeploymentType: этот параметр определяет тип развертывания и указывается как SingleMachineCluster.
  • По Network.NetworkPlugin умолчанию используется flannelпараметр . Это значение по умолчанию для кластера K3S. Если вы используете кластер K8S, измените CNI calicoна .
  • Вы можете задать следующие параметры в соответствии с конфигурацией развертывания, как описано здесь: LinuxNode.CpuCount, LinuxNode.MemoryInMB, LinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMBInit.ServiceIPRangeSizeи Network.InternetDisabled.

Шаг 2. Создание одного кластера компьютера

  1. Теперь можно запустить New-AksEdgeDeployment командлет для развертывания кластера AKS Edge с одним компьютером с одним узлом уровня управления Linux:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Внимание

Kubernetes pod cidr предназначен 10.42.0.0/16 для K3s и 10.244.0.0/24 для K8s. Kubernetes service cidr предназначен 10.43.0.0/16 для K3s и 10.96.0.0/12 для K8s.

Шаг 3. Проверка кластера

Убедитесь, что развертывание выполнено успешно, выполнив следующую команду:

kubectl get nodes -o wide
kubectl get pods -A -o wide

На следующем рисунке показаны модули pod в кластере K3S:

Снимок экрана: все запущенные модули pod.

Шаг 4. Добавление рабочего узла Windows (необязательно)

Внимание

Рабочие узлы Windows — это экспериментальная функция в этом выпуске. Мы активно работаем над этой функцией.

Если вы хотите добавить узел Windows в существующий кластер linux только для одного компьютера, сначала создайте файл конфигурации с помощью следующей команды:

New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -outFile .\ScaleConfig.json | Out-Null

При этом файл конфигурации ScaleConfig.json в текущем рабочем каталоге. Можно также изменить параметры узла Windows в файле конфигурации, чтобы указать ресурсы, которые должны быть выделены узлу Windows. С помощью файла конфигурации можно выполнить следующую команду, чтобы добавить узел в один кластер компьютера:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Примеры вариантов развертывания

Создание объекта JSON с параметрами конфигурации

Вы можете программно изменить объект JSON и передать его в виде строки:

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

Совет

Сведения о конфигурации JSON развертывания см. во всех доступных параметрах, включая параметры сети, такие как параметры прокси-сервера.

Создание простого кластера со службой NodePort

Вы можете создать простой кластер без IP-адресов службы (ServiceIPRangeSize задайте значение 0):

New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)

Выделение ресурсов узлам

Чтобы подключиться к Arc и развернуть приложения с помощью GitOps, выделите четыре ЦП или более для LinuxNode.CpuCount (вычислительной мощности), 4 ГБ или более для LinuxNode.MemoryinMB (ОЗУ) и назначьте число больше 0 ServiceIpRangeSize. Здесь мы выделяем 10 IP-адресов для служб Kubernetes:

{
  "SchemaVersion": "1.5",
  "Version": "1.0",
  "DeploymentType": "SingleMachineCluster",
  "Init": {
    "ServiceIPRangeSize": 10
  },
  "Network": {
      "NetworkPlugin": "flannel"
  },
  "User": {
      "AcceptEula": true,
      "AcceptOptionalTelemetry": true
  },
  "Machines": [
       {
         "LinuxNode": {
              "CpuCount": 4,
              "MemoryInMB": 4096
          }
       }
   ]
}

Примечание.

AKS Edge Essentials выделяет IP-адреса из внутреннего коммутатора для запуска служб Kubernetes при указании ServiceIPRangeSize.

Вы также можете передать параметры в виде строки JSON, как описано ранее:

$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096

New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)

Создание кластера смешанной рабочей нагрузки

Кластер можно создать как с узлами Linux, так и с Windows. Файл конфигурации можно создать с помощью команды:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null

После создания файла конфигурации можно развернуть кластер с помощью следующей команды:

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

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