Desabilitar o recurso de pool de nós do Windows no Azure Local
Aplica-se a: Azure Local, versão 23H2
Quando você instala o Azure Local, três VHDs (discos rígidos virtuais) – Azure Linux, Windows Server 2019 e Windows Server 2022 – são baixados automaticamente. Os VHDs são necessários para implantar o AKS no Azure Local porque servem como as imagens do sistema operacional base para os nós do Kubernetes no cluster do AKS. Para um ambiente de sistema operacional misto (nós Windows e Linux), um VHD do Windows Server 2019 ou Windows Server 2022 é necessário para provisionar um pool de nós do Windows Server 2019 ou 2022. O pool de nós do Linux usa o VHD do Linux do Azure otimizado para executar o Kubernetes. No entanto, em ambientes em que apenas contêineres do Linux são usados, o VHD do Windows é desnecessário. Você pode desativar o recurso de pool de nós do Windows para evitar o download e o armazenamento desse arquivo grande, o que economiza largura de banda e espaço de armazenamento.
Este artigo de instruções explica como desabilitar o recurso de pool de nós do Windows para o AKS (Serviço de Kubernetes do Azure) no Azure Local. Desabilitar esse recurso impede o download automático de VHDs (Discos Rígidos Virtuais) do Windows, que têm aproximadamente 20 GB de tamanho e são necessários para criar pools de nós baseados no Windows. Ao fazer isso, as empresas com largura de banda de internet limitada podem evitar downloads desnecessários, especialmente se suas cargas de trabalho estiverem usando exclusivamente contêineres Linux. Esse recurso ajuda a otimizar o uso da largura de banda e simplifica o gerenciamento de recursos para ambientes em que os nós do Windows não são necessários.
Antes de começar
Antes de começar, você deve fazer os seguintes pré-requisitos:
- Local do Azure implantado. Este artigo só será aplicável se você já tiver implantado o Azure Local, versão 2411. Você não pode executar os comandos neste artigo antes de implantar o Azure Local versão 2411. No momento, não há suporte para a capacidade de fazer essa alteração antes da implantação inicial da versão 2411 do Azure Local.
- Permissões do RBAC do Azure para atualizar a configuração local do Azure. Certifique-se de ter as seguintes funções. Para obter mais informações, consulte permissões necessárias para implantação:
- Administrador Local do Azure
- Leitor
- Localização personalizada. Nome do local personalizado. O local personalizado é configurado durante a implantação local do Azure. Se você estiver no portal do Azure, vá para a página Visão geral > do servidor no recurso do sistema local do Azure. Você deve ver um local personalizado para o cluster.
- Grupo de recursos do Azure. O grupo de recursos do Azure no qual o Azure Local é implantado.
Opção recomendada: desabilitar o pool de nós do Windows em uma sessão do Azure CloudShell
Para ajudar a simplificar a configuração, as etapas a seguir definem as variáveis de ambiente que são referenciadas neste artigo. Lembre-se de substituir os valores mostrados por seus próprios valores.
Defina o local personalizado e os valores do grupo de recursos em variáveis de ambiente:
$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>
Em seguida, execute o comando a seguir para obter o clusterName
parâmetro. Esse parâmetro é o nome da Ponte de Recursos do Arc que você implantou no Azure Local:
az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId
Saída esperada:
/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge
Nesta saída, sanjose-arcbridge
é o nome da ponte de recursos do Arc que você implantou no cluster local do Azure. Esse nome é diferente para sua implantação.
$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>
Em seguida, obtenha o nome da extensão do AKS Arc implantada no local personalizado. Para obter esse nome, execute o seguinte comando para listar as extensões instaladas no local personalizado:
az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv
Saída esperada:
/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
Você deve ter duas extensões instaladas em seu local personalizado: AKS Arc e gerenciamento de VM do Arc. Copie o nome da extensão do AKS em uma variável de ambiente. Na saída de exemplo, o nome da extensão é hybridaksextension
. Pode ser diferente do que você vê:
$extensionName = <Name of AKS Arc extension you deployed on the custom location>
Depois de ter o nome da extensão, crie variáveis para os seguintes parâmetros e desabilite o recurso de pool de nós do Windows:
$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
Opção alternativa: desabilitar o pool de nós do Windows depois de se conectar a um nó físico local do Azure por meio da Área de Trabalho Remota
Se, por algum motivo, você não conseguir usar o Azure CloudShell ou um computador com conectividade com o Azure para desabilitar o pool de nós do Windows, poderá desabilitar o pool de nós do Windows depois de se conectar a qualquer um dos nós físicos locais do Azure com a Área de Trabalho Remota. Primeiro, você deve entrar no 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
Validar se o recurso de pool de nós do Windows está desabilitado
Você pode verificar se as definições de configuração foram aplicadas executando , da az k8s-extension show
seguinte maneira:
az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings
Saída esperada:
...
"disable-windows-nodepool": "true",
...
Em seguida, verifique se os pools de nós do Windows foram desativados executando o seguinte comando:
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName
A saída para osType=Windows
deve dizer "O recurso de pool de nós do Windows está desabilitado" e o ready
estado deve ser false
, para cada opção de versão do 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
}
],
...
Perguntas frequentes
O que acontece se eu tentar desabilitar o pool de nós do Windows e os pools de nós do Windows existirem em pelo menos 1 cluster do AKS na implantação local do Azure?
Você deve excluir o pool de nós do Windows manualmente antes de desabilitar o recurso. Se houver pools de nós do Windows existentes, você não poderá desabilitar o recurso.
O que acontece com os VHDs do Windows baixados se eu desabilitar os pools de nós do Windows?
Os VHDs do Windows que foram baixados anteriormente serão excluídos automaticamente se o recurso de pools de nós do Windows estiver desabilitado. Você pode verificar se os VHDs do Windows foram removidos dos caminhos de armazenamento local do Azure. A exclusão pode levar algum tempo. Aguarde 30 minutos antes de verificar. Você deve verificar todos os caminhos de armazenamento, pois os VHDs do Windows são atribuídos a caminhos de armazenamento de forma round robin, com base na capacidade de armazenamento disponível.