Настройка узла Служба Azure Kubernetes в Azure Stack HCI и Windows Server и развертывание кластера рабочей нагрузки с помощью PowerShell
Область применения: Azure Stack HCI или Windows Server Datacenter
В этом кратком руководстве описано, как настроить узел Служба Azure Kubernetes (AKS). Кластеры Kubernetes создаются в Azure Stack HCI и Windows Server с помощью PowerShell. Сведения об использовании Windows Admin Center см. в статье Настройка с помощью Windows Admin Center.
Примечание
- Если у вас есть предварительно подготовленные объекты службы кластера и записи DNS, см. статью Развертывание узла AKS с предварительно подготовленными объектами службы кластера и записями DNS с помощью PowerShell.
- Если у вас есть прокси-сервер, см. статью Настройка узла AKS и развертывание кластера рабочей нагрузки с помощью PowerShell и прокси-сервера.
- Установка AKS в Azure Stack HCI после настройки виртуальных машин Arc не поддерживается. Дополнительные сведения см. в статье Известные проблемы с виртуальными машинами Arc. Если вы хотите установить AKS в Azure Stack HCI, необходимо удалить Arc Resource Bridge, а затем установить AKS в Azure Stack HCI. Вы можете снова развернуть новый ресурсный мост Arc после очистки и установки AKS, но он не будет помнить сущности виртуальной машины, созданные ранее.
Подготовка к работе
- Убедитесь, что выполнены все предварительные требования, приведенные в требованиях к системе.
- Используйте учетную запись Azure для регистрации узла AKS для выставления счетов. Дополнительные сведения см. в статье Требования Azure.
Установка модуля PowerShell AksHci
Выполните следующие действия на всех узлах в кластере Azure Stack HCI или кластере Windows Server.
Примечание
Если вы используете удаленный PowerShell, необходимо использовать CredSSP.
Закройте все открытые окна PowerShell, откройте новый сеанс PowerShell от имени администратора и выполните следующую команду на всех узлах в кластере Azure Stack HCI или Windows Server:
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
Чтобы обеспечить обновление загруженных модулей, необходимо снова закрыть все существующие окна PowerShell. Не переходите к следующему шагу, пока не закроете все открытые окна PowerShell.
Установите модуль PowerShell AKS-HCI, выполнив следующую команду на всех узлах в кластере Azure Stack HCI или 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 для AKS, включенный регистрацией Arc. Для этого выполните следующие команды PowerShell:
Чтобы войти в Azure, выполните команду PowerShell Connect-AzAccount :
Connect-AzAccount
Если вы хотите переключиться на другую подписку, выполните команду PowerShell Set-AzContext :
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Выполните следующие команды, чтобы зарегистрировать подписку Azure в поставщиках ресурсов Kubernetes с поддержкой Azure Arc. Этот процесс регистрации может занять до 10 минут, но его необходимо выполнить только один раз в определенной подписке:
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Чтобы проверить процесс регистрации, выполните следующие команды PowerShell:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Шаг 1. Подготовка компьютеров к развертыванию
Выполните проверки на каждом физическом узле, чтобы проверить, выполнены ли все требования для установки AKS, включенные Arc. Откройте PowerShell от имени администратора и выполните следующую команду Initialize-AksHciNode на всех узлах в кластере Azure Stack HCI и Windows Server:
Initialize-AksHciNode
Шаг 2. Создание виртуальной сети
Выполните следующие команды на любом узле в кластере Azure Stack HCI и Windows Server.
Чтобы получить имена доступных параметров, выполните следующую команду. Убедитесь, SwitchType
что параметр виртуальной машины имеет значение "External" (Внешний):
Get-VMSwitch
Образец вывода:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Чтобы создать виртуальную сеть для узлов в развертывании, создайте переменную среды с помощью команды PowerShell New-AksHciNetworkSetting . Эта виртуальная сеть используется позже для настройки развертывания, использующего статический IP-адрес. Если вы хотите настроить развертывание AKS с помощью DHCP, см. примеры в статье New-AksHciNetworkSetting . Вы также можете ознакомиться с некоторыми понятиями сетевых узлов.
#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -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
Примечание
Значения, показанные в этом примере команды, необходимо настроить для среды.
Шаг 3. Настройка развертывания
Выполните следующие команды на любом узле в кластере Azure Stack HCI и Windows Server.
Чтобы создать параметры конфигурации для узла AKS, используйте команду Set-AksHciConfig . Необходимо указать imageDir
параметры , workingDir
и cloudConfigLocation
. Если вы хотите сбросить сведения о конфигурации, снова выполните команду с новыми параметрами.
Настройте развертывание с помощью следующей команды:
$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet
Примечание
Значения, показанные в этом примере команды, необходимо настроить для среды.
Шаг 4. Вход в Azure и настройка параметров регистрации
Вариант 1. Используйте учетную запись Microsoft Entra, если у вас есть разрешения "Владелец"
Выполните следующую команду PowerShell Set-AksHciRegistration , указав подписку и имя группы ресурсов, чтобы войти в Azure. У вас должна быть подписка Azure и существующая группа ресурсов Azure в регионах Azure Восточная Австралия, Восточная часть США, Юго-Восточная Азия или Западная Европа Azure:
Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"
Вариант 2. Использование субъекта-службы Azure
Если у вас нет доступа к подписке, владельцем которой вы являетесь, вы можете зарегистрировать узел AKS в Azure для выставления счетов с помощью субъекта-службы. Дополнительные сведения об использовании субъекта-службы см. в статье Регистрация AKS в Azure Stack HCI и Windows Server с помощью субъекта-службы.
Шаг 5. Запуск нового развертывания
Выполните следующую команду на любом узле в кластере Azure Stack HCI или Windows Server.
После настройки развертывания необходимо запустить его, чтобы установить агенты и службы AKS и узел AKS. Чтобы начать развертывание, выполните следующую команду:
Совет
Чтобы просмотреть дополнительные сведения о состоянии во время установки, задайте перед $VerbosePreference = "Continue"
продолжением.
Install-AksHci
Предупреждение
Во время установки узла AKS в группе ресурсов, заданной во время регистрации, создается тип ресурса Kubernetes — Azure Arc . Не удаляйте этот ресурс, так как он представляет узел AKS. Вы можете определить ресурс, проверив в поле распределения значение aks_management
. Удаление этого ресурса приведет к развертыванию вне политики.
Шаг 6. Создание кластера Kubernetes
После установки узла AKS можно развернуть кластер Kubernetes. Откройте PowerShell от имени администратора и выполните следующую команду New-AksHciCluster . В этом примере команда создает новый кластер Kubernetes с одним пулом узлов Linux с именем linuxnodepool
с числом узлов 1.
Дополнительные сведения о пулах узлов см. в статье Использование пулов узлов в AKS.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux
Проверка развернутых кластеров
Чтобы получить список развернутых кластеров Kubernetes, выполните следующую команду PowerShell Get-AksHciCluster :
Get-AksHciCluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Чтобы получить список пулов узлов в кластере, выполните следующую команду PowerShell Get-AksHciNodePool :
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Шаг 7. Подключение кластера к Kubernetes с поддержкой Arc
Подключите кластер к Kubernetes с поддержкой Arc, выполнив команду Enable-AksHciArcConnection . В следующем примере кластер Kubernetes подключается к Arc с помощью сведений о подписке и группе ресурсов, переданных в команде Set-AksHciRegistration
:
Connect-AzAccount
Enable-AksHciArcConnection -name mycluster
Примечание
Если во время установки возникают проблемы или сообщения об ошибках, дополнительные сведения см. в статье Известные проблемы и ошибки при установке .
Масштабирование кластера Kubernetes
Если необходимо увеличить или уменьшить масштаб кластера, можно изменить количество узлов уровня управления с помощью команды Set-AksHciCluster . Чтобы изменить количество рабочих узлов Linux или Windows в пуле узлов, используйте команду Set-AksHciNodePool .
Чтобы масштабировать узлы уровня управления, выполните следующую команду:
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Чтобы масштабировать рабочие узлы в пуле узлов, выполните следующую команду:
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Примечание
В предыдущих версиях AKS в Azure Stack HCI и Windows Server команда Set-AksHciCluster также использовалась для масштабирования рабочих узлов. Теперь, когда AKS вводит пулы узлов в кластерах рабочих нагрузок, эту команду можно использовать только для масштабирования рабочих узлов, если кластер был создан с помощью старого параметра, заданного в New-AksHciCluster.
Чтобы масштабировать рабочие узлы в пуле узлов, используйте команду Set-AksHciNodePool .
Доступ к кластерам с помощью kubectl
Чтобы получить доступ к кластерам Kubernetes с помощью kubectl, выполните команду PowerShell Get-AksHciCredential . В качестве файла kubeconfig по умолчанию для kubectl будет использоваться файл kubeconfig указанного кластера. Вы также можете использовать kubectl для развертывания приложений с помощью Helm:
Get-AksHciCredential -name mycluster
Удаление кластера Kubernetes
Чтобы удалить кластер Kubernetes, выполните следующую команду:
Remove-AksHciCluster -name mycluster
Примечание
Убедитесь, что кластер удален, просмотрев существующие виртуальные машины в диспетчере Hyper-V. Если они не удалены, можно вручную удалить виртуальные машины. Затем выполните команду Restart-Service wssdagent
. Выполните эту команду на каждом узле в отказоустойчивом кластере.
Получение журналов
Чтобы получить журналы из всех модулей pod, выполните команду Get-AksHciLogs . Эта команда создает выходную zip-папку с именем akshcilogs.zip
в рабочем каталоге. Полный путь к папке akshcilogs.zip
выводится после выполнения следующей команды:
Get-AksHciLogs
Из этого краткого руководства вы узнали, как настроить узел AKS и создать кластеры Kubernetes с помощью PowerShell. Вы также узнали, как использовать PowerShell для масштабирования кластера Kubernetes и доступа к кластерам с помощью kubectl
.
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по