Руководство. Развертывание кластера рабочей нагрузки в AKS с поддержкой Arc
Область применения: AKS в Azure Stack HCI 22H2, AKS на Windows Server
Kubernetes предоставляет распределенную платформу для контейнерных приложений.
В этом руководстве часть 3 из семи, кластер Kubernetes развертывается в AKS в локальной среде Azure. Вы изучите следующие темы:
- Развертывание кластера AKS в локальной среде Azure
- Установка интерфейса командной строки Kubernetes (kubectl).
- Настройка kubectl для подключения к кластеру рабочей нагрузки
В дальнейших руководствах приложение Azure для голосования развертывается в кластере, масштабируется и обновляется.
Подготовка к работе
В предыдущих руководствах образ контейнера был создан и передан в экземпляр реестра контейнеров Azure. Если вы не выполнили эти действия, начните с руководства 1. Создание образов контейнеров.
В этом руководстве используется модуль PowerShell AksHci.
Выполните следующие действия на всех узлах в локальном кластере Azure или кластере Windows Server:
Примечание.
При использовании удаленного PowerShell необходимо использовать CredSSP.
Закройте все открытые окна PowerShell, откройте новый сеанс PowerShell от имени администратора и выполните следующую команду на всех узлах в кластере Azure Local или Windows Server:
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
Необходимо снова закрыть все существующие окна PowerShell, чтобы убедиться, что загруженные модули обновляются. Не продолжайте переходить к следующему шагу, пока не закройте все открытые окна PowerShell.
Установите модуль PowerShell AKS-HCI, выполнив следующую команду на всех узлах в кластере Azure Local или Windows Server:
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
Необходимо снова закрыть все существующие окна PowerShell, чтобы убедиться, что загруженные модули обновляются. Не продолжайте переходить к следующему шагу, пока не закройте все открытые окна PowerShell.
Вспомогательный скрипт можно использовать для удаления старых модулей PowerShell AKS-HCI, чтобы избежать проблем, связанных с версиями PowerShell в развертывании AKS.
Проверка установки
Get-Command -Module AksHci
Полный список команд AksHci PowerShell см. в статье AksHci PowerShell.
Установка узла Служба Azure Kubernetes
Сначала настройте параметры регистрации.
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
Эти значения необходимо настроить в соответствии с именем подписки Azure и группы ресурсов.
Затем выполните следующую команду, чтобы убедиться, что все требования на каждом физическом узле выполняются для установки AKS в Локальной среде Azure:
Initialize-AksHciNode
Затем создайте виртуальную сеть. Вам потребуются имена доступных внешних коммутаторов:
Get-VMSwitch
Образец вывода:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Выполните следующую команду, чтобы создать виртуальную сеть со статическим IP-адресом:
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9
Затем настройте развертывание с помощью следующей команды.
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
Теперь вы готовы установить узел AKS:
Install-AksHCi
Создание кластера Kubernetes
Создайте кластер Kubernetes с помощью команды New-AksHciCluster. В следующем примере создается кластер mycluster
с одним пулом linuxnodepool
узлов Linux с числом узлов 1:
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
Чтобы убедиться, что развертывание выполнено успешно, выполните следующую команду.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Примечание.
Если вы используете новые наборы параметров для New-AksHciCluster
развертывания кластера, а затем выполняется Get-AksHciCluster
для получения сведений о кластере, полей WindowsNodeCount
и LinuxNodeCount
в выходных данных 0
. Чтобы получить точное количество узлов в каждом пуле узлов, используйте команду Get-AksHciNodePool
с указанным именем кластера.
Чтобы получить список пулов узлов в кластере, выполните следующую команду Get-AksHciNodePool PowerShell:
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Установка интерфейса командной строки Kubernetes
Чтобы подключиться к кластеру Kubernetes с локального компьютера, используйте kubectl, клиент командной строки Kubernetes.
Подключение к кластеру с помощью kubectl
Чтобы настроить kubectl
подключение к кластеру Kubernetes, используйте команду Get-AksHciCredential . В следующем примере возвращаются учетные данные для кластера с именем mycluster
:
Get-AksHciCredential -name mycluster
Чтобы проверить подключение к кластеру, используйте команду kubectl get nodes для получения списка узлов кластера.
kubectl get nodes
NAME STATUS ROLES AGE VERSION
moc-lbs6got5dqo Ready <none> 6d20h v1.20.7
moc-lel7tzxdt30 Ready control-plane,master 6d20h v1.20.7
Следующие шаги
В этом руководстве вы развернули кластер Kubernetes в AKS и настроили kubectl
для подключения к нему. Вы научились выполнять следующие задачи:
- Развертывание кластера AKS в локальной среде Azure
- Установка интерфейса командной строки Kubernetes (kubectl).
- Настройка kubectl для подключения к кластеру AKS.
Перейдите к следующему руководству, чтобы узнать, как развертывать приложения в кластер.