Развертывание одного компьютера
Вы можете развернуть 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, измените CNIcalico
на . - Вы можете задать следующие параметры в соответствии с конфигурацией развертывания, как описано здесь:
LinuxNode.CpuCount
,LinuxNode.MemoryInMB
,LinuxNode.DataSizeInGB
,WindowsNode.CpuCount
,WindowsNode.MemoryInMB
Init.ServiceIPRangeSize
иNetwork.InternetDisabled
.
Шаг 2. Создание одного кластера компьютера
- Теперь можно запустить
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:
Шаг 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