Este artigo fornece respostas para algumas das perguntas mais comuns sobre o uso de contêineres do Windows Server no Serviço de Kubernetes do Azure (AKS).
Quais tipos de discos têm suporte para Windows?
Os tipos de volumes com suporte são Discos do Azure e Arquivos do Azure, acessados como volumes NTFS (New Technology File System) no contêiner do Windows Server.
O Windows dá suporte a máquinas virtuais (VMs) de geração 2?
As VMs de geração 2 têm suporte apenas no Windows para WS2022.
Para obter mais informações, veja Suporte para VMs de geração 2 no Azure.
Como fazer para aplicar patch aos nós do Windows?
Para obter os patches mais recentes para os nós do Windows, você pode atualizar o pool de nós ou atualizar a imagem do nó.
Há suporte para preservar o IP de origem do cliente?
Atualmente, a preservação do IP de origem do cliente não tem suporte com nós do Windows.
Posso alterar o número máximo de pods por nó?
Sim. Para mais informações, consulte Número máximo de pods.
Qual é o tempo limite padrão do protocolo TCP no SO Windows?
O tempo limite padrão do TCP no SO Windows é de quatro minutos. Esse valor não é configurável. Quando um aplicativo usa um tempo limite mais longo, as conexões TCP entre contêineres diferentes no mesmo nó fecham após quatro minutos.
Por que estou vendo um erro ao tentar criar um pool de agentes do Windows?
Se você criou seu cluster antes de fevereiro de 2020 e não realizou nenhuma operação de atualização, o cluster ainda usa uma imagem antiga do Windows. Você pode ver um erro semelhante ao exemplo a seguir:
"A lista de imagens referenciadas no modelo de implantação não foi encontrada: Publicador: MicrosoftWindowsServer, Offer: WindowsServer, SKU: 2019-datacenter-core-smalldisk-2004, Versão: mais recente. Consulte Encontrar e usar imagens de Máquina Virtual do Azure Marketplace com o Azure PowerShell para instruções sobre como encontrar imagens disponíveis."
Para corrigir esse problema, execute as seguintes etapas:
- Atualize o plano de controle do cluster, o que atualizará a oferta e o publicador da imagem.
- Crie novos pools de agentes do Windows.
- Mova os pods do Windows de pools de agentes do Windows existentes para novos pools de agentes do Windows.
- Exclua pools antigos de agentes do Windows.
Por que estou vendo um erro ao tentar implantar os pods do Windows?
Se você especificar um valor --max-pods
menor que o número de pods que deseja criar, poderá ver o erro No available addresses
.
Para corrigir esse erro, use o comando az aks nodepool add
com um valor --max-pods
suficientemente alto. Por exemplo:
az aks nodepool add \
--cluster-name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--name $NODEPOOL_NAME \
--max-pods 3
Para obter mais detalhes, confira a --max-pods
documentação.
Por que há um usuário inesperado chamado "sshd" no nó da minha máquina virtual?
O AKS adiciona um usuário chamado "sshd" ao instalar o serviço OpenSSH. Este usuário não é malicioso. Recomendamos que os clientes atualizem seus alertas para ignorar essa conta de usuário inesperado.
Como fazer girar a entidade de serviço para o pool de nós do Windows?
Os pools de nós do Windows não dão suporte à rotação de entidade de serviço. Para atualizar a entidade de serviço, crie um novo pool de nós do Windows e migre o pods do pool mais antigo para o novo. Depois que os pods são migrados para o novo pool, exclua o pool do nó mais antigo.
Em vez de entidades de serviço, você pode usar identidades gerenciadas. Para mais informações, consulte Usar identidades gerenciadas no AKS.
Como altero a senha do administrador para nós do Windows Server em meu cluster?
Para alterar a senha de administrador usando a CLI do Azure, use o comando az aks update
com o parâmetro --admin-password
. Por exemplo:
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--admin-password <new-password>
Para alterar a senha usando o Azure PowerShell, use o cmdlet Set-AzAksCluster
com o parâmetro -AdminPassword
. Por exemplo:
Set-AzAksCluster `
-ResourceGroupName $RESOURCE_GROUP `
-Name $CLUSTER_NAME `
-AdminPassword <new-password>
Lembre-se de que realizar uma atualização de cluster causa uma reinicialização e atualiza apenas os pools de nós do Windows Server. Para obter informações sobre os requisitos de senha do Windows Server, consulte Requisitos de senha do Windows Server.
Quantos pools de nós posso criar?
Os clusters do AKS com pools de nós do Windows têm os mesmos limites de recursos que os limites padrão especificados para o serviço do AKS. Para obter mais informações, confira Cotas, restrições de tamanho de máquina virtual e disponibilidade de região no AKS (Serviço de Kubernetes do Azure).
Posso executar controladores de entrada em nós do Windows?
Sim, você pode executar controladores de entrada que dão suporte a contêineres do Windows Server.
Meus contêineres do Windows Server podem usar a gMSA?
Sim. O suporte a contas de serviço gerenciadas por grupo (gMSA) está em disponibilidade geral (GA) para Windows no AKS. Para mais informações, consulte Habilitar Contas de Serviço Gerenciadas por Grupo (GMSA) para seus nós do Windows Server no seu cluster do Serviço de Kubernetes do Azure (AKS)
Há alguma limitação no número de serviços em um cluster com nós do Windows?
Um cluster com nós do Windows pode ter aproximadamente 500 serviços (ou menos) antes de encontrar esgotamento de porta. Esta limitação se aplica a um Serviço de Kubernetes com a Política de Tráfego Externo configurada como "Cluster".
Quando a política de tráfego externo de um Serviço é configurada como Cluster, o tráfego passa por um NAT de origem adicional no nó. Esse processo também resulta na reserva de uma porta do pool de portas dinâmicas do TCPIP. Esse pool de portas é um recurso limitado (~16 mil portas por padrão) e muitas conexões ativas com um Serviço podem levar à exaustão do pool de portas dinâmicas, resultando em quedas de conexão.
Se o Serviço de Kubernetes estiver configurado com a Política de Tráfego Externo definida como "Local", os problemas de esgotamento de porta não ocorrerão em até 500 serviços.
Como altero o fuso horário de um contêiner em execução?
Para alterar o fuso horário de um contêiner do Windows Server em execução, conecte-se ao contêiner em execução com uma sessão do PowerShell. Por exemplo:
kubectl exec -it CONTAINER-NAME -- powershell
No contêiner em execução, use Set-TimeZone para definir o fuso horário do contêiner em execução. Por exemplo:
Set-TimeZone -Id "Russian Standard Time"
Para ver o fuso horário atual do contêiner em execução ou uma lista disponível de fusos horários, use Get-TimeZone.