Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Serviço Kubernetes do Azure (AKS) é um serviço Kubernetes gerenciado que permite implantar e gerenciar clusters rapidamente. Neste artigo, você usa o Azure PowerShell para implantar um cluster AKS que executa contêineres do Windows Server. Você também implanta um aplicativo de exemplo de ASP.NET em um contêiner do Windows Server no cluster.
Nota
Para começar a provisionar rapidamente um cluster AKS, este artigo inclui etapas para implantar um cluster com configurações padrão apenas para fins de avaliação. Antes de implantar um cluster pronto para produção, recomendamos que você se familiarize com nossa arquitetura de referência de linha de base para considerar como ela se alinha aos seus requisitos de negócios.
Antes de começar
Este guia rápido pressupõe um entendimento básico dos conceitos de Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para o Serviço Kubernetes do Azure (AKS).
-
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Para facilitar o uso, experimente o ambiente do PowerShell no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para o Azure Cloud Shell.
Se você quiser usar o PowerShell localmente, instale o módulo Az PowerShell e conecte-se à sua conta do Azure usando o cmdlet Connect-AzAccount . Certifique-se de executar os comandos com privilégios administrativos. Para obter mais informações, consulte Instalar o Azure PowerShell.
Verifique se a identidade que você está usando para criar seu cluster tem as permissões mínimas apropriadas. Para obter mais detalhes sobre acesso e identidade para AKS, consulte Opções de acesso e identidade para o Serviço Kubernetes do Azure (AKS).
Se você tiver mais de uma assinatura do Azure, defina a assinatura que deseja usar para o início rápido chamando o cmdlet Set-AzContext . Para obter mais informações, consulte Gerenciar assinaturas do Azure com o Azure PowerShell.
Se você estiver usando osSku
Windows2025, você precisa instalar aaks-previewextensão e registrar o sinalizador de visualização.Especificar o parâmetro
OsSKUrequer o módulo PowerShell Az versão 9.2.0 ou superior.
Instalar a aks-preview extensão
Importante
Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
- Instale a
aks-previewextensão da CLI do Azure usando oaz extension addcomando.
az extension add --name aks-preview
- Atualize para a versão mais recente da extensão usando o
az extension updatecomando. O Windows Server 2025 requer um mínimo de 18.0.0b40.
az extension update --name aks-preview
Registar o sinalizador de funcionalidade AksWindows2025Preview
- Use o comando [
AksWindows2025Preview][az-feature-register] para registar oaz feature registerflag de funcionalidade.
az feature register --name AksWindows2025Preview --namespace Microsoft.ContainerService
- Verifique o status do registro usando o comando [
az feature show][az-feature-show]. Leva alguns minutos para que o status mostre Registrado.
az feature show --name AksWindows2025Preview --namespace Microsoft.ContainerService
Quando o status indicar Registrado, atualizar o registo do fornecedor de recursos Microsoft.ContainerService usando o comando [
az provider register][az-provider-register].az provider register --namespace Microsoft.ContainerService
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados. Quando cria um grupo de recursos, é-lhe pedido que especifique uma localização. Esse local é onde os metadados do grupo de recursos são armazenados e onde seus recursos são executados no Azure se você não especificar outra região durante a criação do recurso.
Crie um grupo de recursos usando o
New-AzResourceGroupcmdlet. O seguinte exemplo cria um grupo de recursos chamado myResourceGroup na região eastus.New-AzResourceGroup -Name myResourceGroup -Location eastusA saída de exemplo a seguir mostra que o grupo de recursos foi criado com êxito:
ResourceGroupName : myResourceGroup Location : eastus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup
Criar um cluster do AKS
Nesta seção, criamos um cluster AKS com a seguinte configuração:
- O cluster é configurado com dois nós para garantir que ele opere de forma confiável. Um nó é uma máquina virtual (VM) do Azure que executa os componentes do nó Kubernetes e o tempo de execução do contêiner.
- Os parâmetros
-WindowsProfileAdminUserNamee-WindowsProfileAdminUserPassworddefinem as credenciais de administrador para quaisquer nós do Windows Server no cluster e devem atender aos requisitos de complexidade de senha do Windows Server. - A piscina de nós usa
VirtualMachineScaleSets.
Use as seguintes etapas para criar o cluster AKS com o Azure PowerShell:
Crie as credenciais de administrador para seus contêineres do Windows Server usando o comando a seguir. Este comando solicita que você insira um
WindowsProfileAdminUserNameeWindowsProfileAdminUserPassword. A senha deve ter no mínimo 14 caracteres e atender aos requisitos de complexidade de senha do Windows Server.$AdminCreds = Get-Credential ` -Message 'Please create the administrator credentials for your Windows Server containers'Crie seu cluster usando o
New-AzAksClustercmdlet e especifique osWindowsProfileAdminUserNameparâmetros eWindowsProfileAdminUserPassword.New-AzAksCluster -ResourceGroupName myResourceGroup ` -Name myAKSCluster ` -NodeCount 2 ` -NetworkPlugin azure ` -NodeVmSetType VirtualMachineScaleSets ` -WindowsProfileAdminUserName $AdminCreds.UserName ` -WindowsProfileAdminUserPassword $secureString ` -GenerateSshKeyApós alguns minutos, o comando conclui e retorna informações formatadas em JSON sobre o cluster. Ocasionalmente, o cluster pode levar mais do que alguns minutos para ser provisionado. Aguarde até 10 minutos para provisionamento.
Se você receber um erro de validação de senha e a senha definida atender aos requisitos de comprimento e complexidade, tente criar seu grupo de recursos em outra região. Em seguida, tente criar o cluster com o novo grupo de recursos.
Se você não especificar um nome de usuário e senha de administrador ao criar o pool de nós, o nome de usuário será definido como azureuser e a senha será definida como um valor aleatório. Para obter mais informações, consulte as Perguntas frequentes sobre o Windows Server.
O nome de utilizador do administrador não pode ser alterado, mas pode-se alterar a palavra-passe do administrador que o cluster AKS usa para nós do Windows Server usando
az aks update. Para obter mais informações, consulte as Perguntas frequentes sobre o Windows Server.Para executar um cluster AKS que ofereça suporte a pools de nós para contêineres do Windows Server, seu cluster precisa usar uma política de rede que use o plug-in de rede CNI (avançado) do Azure. O
-NetworkPlugin azureparâmetro especifica o Azure CNI.
Adicionar um conjunto de nós
Por padrão, um cluster AKS é criado com um pool de nós que pode executar contêineres Linux. Você deve adicionar outro pool de nós que possa executar contêineres do Windows Server ao lado do pool de nós do Linux.
Para criar um pool de nós do Windows, é necessário especificar um OsType e um OsSku apropriados. Use as informações na tabela a seguir para determinar qual é apropriado para seu cluster:
OsType |
OsSku |
Predefinido | Versões K8s suportadas | Detalhes |
|---|---|---|---|---|
windows |
Windows2025 |
Atualmente em pré-visualização. Não é predefinido. | 1.32+ | Padrões atualizados: containerd 2.0, a imagem da Geração 2 é usada por padrão. |
windows |
Windows2022 |
Padrão no K8s 1.25-1.35 | Não disponível no K8s 1.36+ | Aposenta-se em março de 2027. Padrões atualizados: o FIPS está habilitado por padrão. |
windows |
Windows2019 |
Padrão nas versões do K8s 1.24 e anteriores | Não disponível no K8s 1.33+ | Aposenta-se em março de 2026. |
O Windows Server 2022 é o sistema operativo predefinido para as versões Kubernetes 1.25-1.35. O Windows Server 2019 é o sistema operacional padrão para versões anteriores. Se você não especificar uma SKU de sistema operacional específica, o Azure criará o novo pool de nós com a SKU padrão para a versão do Kubernetes usada pelo cluster.
Nota
- O Windows Server 2019 encerra-se a 1 de março de 2026. Após essa data, o AKS deixará de produzir novas imagens de nós ou fornecer correções de segurança. Após essa data, não poderá criar novos pools de nós com o Windows Server 2019 em nenhuma versão do Kubernetes. Todos os pools de nós existentes com o Windows Server 2019 não serão suportados. O Windows Server 2019 não é suportado no Kubernetes versão 1.33 e superiores. A partir de 1 de abril de 2027, o AKS removerá todas as imagens de nós existentes para o Windows Server 2019, o que significa que as operações de escalamento falharão.
- O Windows Server 2022 encerra-se a 15 de março de 2027. Após essa data, o AKS deixará de produzir novas imagens de nós e fornecer correções de segurança. Após essa data, não poderá criar novos pools de nós do Windows Server 2022 em qualquer versão do Kubernetes. Todos os pools de nós existentes com o Windows Server 2022 não serão suportados. O Windows Server 2022 não é suportado na versão 1.36 do Kubernetes e superiores. A partir de 1 de abril de 2028, o AKS irá remover todas as imagens de nós existentes para o Windows Server 2022, o que significa que as operações de escalabilidade irão falhar.
Para mais informações, consulte as notas de versão do AKS. Para se manter atualizado sobre as versões mais recentes do sistema operacional Windows Server e saber mais sobre nosso roteiro do que está planejado para suporte no AKS, consulte nosso roteiro público do AKS.
Adicione um pool de nós do Windows Server usando o
New-AzAksNodePoolcmdlet. O comando a seguir cria um novo pool de nós chamado npwin e o adiciona ao myAKSCluster. O comando também usa a sub-rede padrão na rede virtual padrão criada ao executarNew-AzAksCluster:New-AzAksNodePool -ResourceGroupName myResourceGroup ` -ClusterName myAKSCluster ` -VmSetType VirtualMachineScaleSets ` -OsType Windows ` -OsSKU Windows2022 ` -Name npwin
Ligar ao cluster
Você usa kubectl, o cliente de linha de comando do Kubernetes, para gerenciar seus clusters Kubernetes. Se você usa o Azure Cloud Shell, kubectl já está instalado. Se quiser instalar kubectl localmente, você pode usar o Install-AzAzAksCliTool cmdlet.
Configure
kubectlpara se conectar ao cluster do Kubernetes usando oImport-AzAksCredentialcmdlet. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSClusterVerifique a conexão com o cluster usando o
kubectl getcomando, que retorna uma lista dos nós do cluster.kubectl get nodesO exemplo de saída a seguir mostra todos os nós no cluster. Verifique se o status de todos os nós está Pronto:
NAME STATUS ROLES AGE VERSION aks-nodepool1-20786768-vmss000000 Ready agent 22h v1.27.7 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.27.7 aksnpwin000000 Ready agent 21h v1.27.7
Implementar a aplicação
Um arquivo de manifesto do Kubernetes define um estado desejado para o cluster, como quais imagens de contêiner devem ser executadas. Neste artigo, você usa um manifesto para criar todos os objetos necessários para executar o aplicativo de exemplo ASP.NET em um contêiner do Windows Server. Esse manifesto inclui uma implantação do Kubernetes para o aplicativo de exemplo ASP.NET e um serviço Kubernetes externo para acessar o aplicativo da Internet.
O aplicativo de exemplo de ASP.NET é fornecido como parte dos exemplos do .NET Framework e é executado em um contêiner do Windows Server. O AKS requer que os contêineres do Windows Server sejam baseados em imagens do Windows Server 2019 ou superior. O arquivo de manifesto do Kubernetes também deve definir um seletor de nós para dizer ao cluster AKS para executar o pod da aplicação de exemplo ASP.NET em um nó capaz de executar contentores do Windows Server.
Crie um arquivo nomeado
sample.yamle copie na seguinte definição de YAML:apiVersion: apps/v1 kind: Deployment metadata: name: sample labels: app: sample spec: replicas: 1 template: metadata: name: sample labels: app: sample spec: nodeSelector: "kubernetes.io/os": windows containers: - name: sample image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp resources: limits: cpu: 1 memory: 800M ports: - containerPort: 80 selector: matchLabels: app: sample --- apiVersion: v1 kind: Service metadata: name: sample spec: type: LoadBalancer ports: - protocol: TCP port: 80 selector: app: samplePara obter um detalhamento dos arquivos de manifesto YAML, consulte Implantações e manifestos YAML.
Se você criar e salvar o arquivo YAML localmente, poderá carregar o arquivo de manifesto para seu diretório padrão no CloudShell selecionando o botão Upload/Download de arquivos e selecionando o arquivo do seu sistema de arquivos local.
Implante o aplicativo usando o
kubectl applycomando e especifique o nome do seu manifesto YAML.kubectl apply -f sample.yamlA saída de exemplo a seguir mostra a implantação e o serviço criados com êxito:
deployment.apps/sample created service/sample created
Testar a aplicação
Quando o aplicativo é executado, um serviço Kubernetes expõe o front-end do aplicativo à Internet. Este processo pode demorar alguns minutos a concluir. Ocasionalmente, o serviço pode levar mais do que alguns minutos para ser provisionado. Aguarde até 10 minutos para provisionamento.
Verifique o status dos pods implantados usando o
kubectl get podscomando. Faça com que todos os pods estejamRunningantes de prosseguir.kubectl get podsMonitore o progresso usando o
kubectl get servicecomando com o--watchargumento.kubectl get service sample --watchInicialmente, a saída mostra o EXTERNAL-IP para o serviço de exemplo como pendente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6sQuando o endereço EXTERNAL-IP mudar de pendente para um endereço IP público real, use
CTRL-Cpara interromper o processo dekubectlmonitoramento.A saída de exemplo a seguir mostra um endereço IP público válido atribuído ao serviço:
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2mVeja o aplicativo de exemplo em ação abrindo um navegador da Web para o endereço IP externo do seu serviço.
Eliminar recursos
Se você não planeja passar pelo tutorial do AKS, exclua seu cluster para evitar incorrer em cobranças do Azure.
Remova o grupo de recursos, o serviço de contêiner e todos os recursos relacionados usando o
Remove-AzResourceGroupcmdlet.Remove-AzResourceGroup -Name myResourceGroupNota
O cluster AKS foi criado com identidade gerenciada atribuída ao sistema (opção de identidade padrão usada neste início rápido). A plataforma Azure gerencia essa identidade, portanto, não requer remoção.
Próximos passos
Neste início rápido, você implantou um cluster Kubernetes e, em seguida, implantou um aplicativo de exemplo de ASP.NET em um contêiner do Windows Server nele. Este aplicativo de exemplo é apenas para fins de demonstração e não representa todas as práticas recomendadas para aplicativos Kubernetes. Para obter orientação sobre como criar soluções completas com o AKS para produção, consulte Orientação de solução AKS.
Para saber mais sobre o AKS e percorrer um exemplo completo de código para implantação, continue para o tutorial do cluster do Kubernetes.