Отключение функции узла Windows в локальной среде Azure
Область применения: Локальная версия Azure, версия 23H2
При установке Локальных дисков Azure три виртуальных жестких диска (VHD) — Azure Linux, Windows Server 2019 и Windows Server 2022 — автоматически скачиваются. Виртуальные жесткие диски необходимы для развертывания AKS в Локальной среде Azure, так как они служат базовыми образами операционной системы для узлов Kubernetes в кластере AKS. Для среды смешанной ОС (как узлов Windows, так и Linux) виртуальный жесткий диск Windows Server 2019 или Windows Server 2022 требуется для подготовки узла Windows Server 2019 или 2022. В узле Linux используется виртуальный жесткий диск Azure Linux, оптимизированный для запуска Kubernetes. Однако в средах, где используются только контейнеры Linux, виртуальный жесткий диск Windows не требуется. Вы можете отключить функцию узла Windows, чтобы избежать загрузки и хранения этого большого файла, что экономит пропускную способность и место в хранилище.
В этой статье описывается, как отключить функцию узла Windows для Служба Azure Kubernetes (AKS) в локальной среде Azure. Отключение этой функции предотвращает автоматическую загрузку виртуальных жестких дисков Windows (VHD), размер которых составляет около 20 ГБ и требуется для создания узлов под управлением Windows. Таким образом, предприятия с ограниченной пропускной способностью Интернета могут избежать ненужных скачивание, особенно если их рабочие нагрузки используют исключительно контейнеры Linux. Эта функция помогает оптимизировать использование пропускной способности и упрощает управление ресурсами в средах, где узлы Windows не нужны.
Подготовка к работе
Прежде чем начать, убедитесь, что у вас есть следующие предварительные требования:
- Развернуто локальное развертывание Azure. Эта статья применима только в том случае, если вы уже развернули локальную версию Azure, выпуск 2411. Перед развертыванием локального выпуска Azure 2411 нельзя выполнить команды, приведенные в этой статье. В настоящее время мы не поддерживаем возможность внести это изменение до первоначального развертывания локального выпуска Azure 2411.
- Разрешения Azure RBAC для обновления локальной конфигурации Azure. Убедитесь, что у вас есть следующие роли. Дополнительные сведения см. в статье о необходимых разрешениях для развертывания:
- Локальный администратор Azure
- Читатель
- Пользовательское расположение. Имя настраиваемого расположения. Настраиваемое расположение настраивается во время локального развертывания Azure. Если вы находитесь в портал Azure, перейдите на страницу "Обзор сервера" > в ресурсе локальной системы Azure. Вы должны увидеть пользовательское расположение для кластера.
- Группа ресурсов Azure. Группа ресурсов Azure, в которой развернута локальная служба Azure.
Рекомендуемый вариант. Отключение узла Windows из сеанса Azure CloudShell
Чтобы упростить настройку, в следующих шагах определяются переменные среды, на которые ссылается эта статья. Не забудьте заменить значения, отображаемые собственными значениями.
Задайте настраиваемое расположение и значения группы ресурсов в переменных среды:
$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>
Затем выполните следующую команду, чтобы получить clusterName
параметр. Этот параметр — это имя моста ресурсов Arc, развернутого в локальной среде Azure:
az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId
Ожидаемые выходные данные:
/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge
В этом выходных данных используется имя моста ресурсов Arc, sanjose-arcbridge
развернутого в локальном кластере Azure. Это имя отличается для развертывания.
$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>
Затем получите имя расширения AKS Arc, развернутого в пользовательском расположении. Чтобы получить это имя, выполните следующую команду, чтобы получить список расширений, установленных в пользовательском расположении:
az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv
Ожидаемые выходные данные:
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/hybridaksextension
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/vmss-hci
В пользовательском расположении должно быть установлено два расширения: управление виртуальными машинами AKS Arc и Arc. Скопируйте имя расширения для AKS в переменную среды. В примере выходных данных имя расширения — hybridaksextension
. Это может отличаться от того, что вы видите:
$extensionName = <Name of AKS Arc extension you deployed on the custom location>
После получения имени расширения создайте переменные для следующих параметров и отключите функцию windows nodepool:
$extensionVersion = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
Альтернативный вариант: отключите узел Windows после подключения к локальному физическому узлу Azure через удаленный рабочий стол
Если по какой-то причине вы не можете использовать Azure CloudShell или компьютер с подключением к Azure, чтобы отключить узел Windows nodepool, можно отключить узел Windows после подключения к любому из локальных физических узлов Azure с удаленным рабочим столом. Сначала необходимо войти в Azure:
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
Проверка того, отключена ли функция nodepool Windows
Можно проверить, применены ли параметры конфигурации, выполнив az k8s-extension show
следующие действия:
az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings
Ожидаемые выходные данные:
...
"disable-windows-nodepool": "true",
...
Затем проверьте, отключены ли узлы Windows, выполнив следующую команду:
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName
Выходные данные osType=Windows
должны иметь значение "Функция windows nodepool отключена", а ready
состояние должно быть false
для каждого параметра версии Kubernetes:
...
"1.27.7": {
"readiness": [
{
"errorMessage": null,
"osSku": "CBLMariner",
"osType": "Linux",
"ready": true
},
{
"errorMessage": "Windows nodepool feature is disabled",
"osSku": "Windows2019",
"osType": "Windows",
"ready": false
},
{
"errorMessage": "Windows nodepool feature is disabled",
"osSku": "Windows2022",
"osType": "Windows",
"ready": false
}
],
...
Вопросы и ответы
Что произойдет, если я пытаюсь отключить пулы узлов Windows и Windows существуют в кластере atleast 1 AKS в локальном развертывании Azure?
Перед отключением функции необходимо вручную удалить узел Windows. Если есть существующие узлы Windows, вы не можете отключить эту функцию.
Что происходит с скачанными виртуальными жесткими дисками Windows, если отключить пулы узлов Windows?
Виртуальные жесткие диски Windows, скачанные ранее, автоматически удаляются, если функция windows nodepools отключена. Вы можете проверить, были ли удалены виртуальные жесткие диски Windows из путей к локальному хранилищу Azure. Удаление может занять некоторое время. Подождите 30 минут до проверки. Необходимо проверить все пути к хранилищу, так как виртуальные жесткие диски Windows назначаются путям хранения в режиме циклического перебора на основе доступной емкости хранилища.