Configurar um host do Serviço Kubernetes do Azure no Azure Local e no Windows Server e implantar um cluster de carga de trabalho usando o PowerShell
Aplica-se a: Azure Local ou Windows Server Datacenter
Este guia de início rápido orienta você na configuração de um host do Serviço Kubernetes do Azure (AKS). Você cria clusters Kubernetes no Azure Local e no Windows Server usando o PowerShell. Para usar o Windows Admin Center, consulte Configurar com o Windows Admin Center.
Nota
- Se você tiver objetos de serviço de cluster pré-preparados e registros DNS, consulte Implantar um host AKS com objetos de serviço de cluster pré-configurados e registros DNS usando o PowerShell.
- Se você tiver um servidor proxy, consulte Configurar um host AKS e implantar um cluster de carga de trabalho usando o PowerShell e um servidor proxy.
- Não há suporte para a instalação do AKS no Azure Local após a configuração de VMs do Arc. Para obter mais informações, consulte Problemas conhecidos com Arc VMs. Se quiser instalar o AKS no Azure Local, tem de desinstalar o Arc Resource Bridge e, em seguida, instalar o AKS no Azure Local. Você pode implantar um novo Arc Resource Bridge novamente depois de limpar e instalar o AKS, mas ele não se lembrará das entidades VM criadas anteriormente.
Antes de começar
- Certifique-se de ter cumprido todos os pré-requisitos nos requisitos do sistema.
- Use uma conta do Azure para registrar seu host AKS para cobrança. Para obter mais informações, consulte Requisitos do Azure.
Instalar o módulo AksHci PowerShell
Siga estas etapas em todos os nós em seu cluster Local do Azure ou cluster do Windows Server:
Nota
Se você estiver usando o PowerShell remoto, deverá usar CredSSP.
Feche todas as janelas abertas do PowerShell, abra uma nova sessão do PowerShell como administrador e execute o seguinte comando em todos os nós do cluster do Azure Local ou do Windows Server:
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
Você deve fechar todas as janelas existentes do PowerShell novamente para garantir que os módulos carregados sejam atualizados. Não continue para a próxima etapa até fechar todas as janelas abertas do PowerShell.
Instale o módulo AKS-HCI PowerShell executando o seguinte comando em todos os nós do cluster do Azure Local ou do Windows Server:
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
Você deve fechar todas as janelas existentes do PowerShell novamente para garantir que os módulos carregados sejam atualizados. Não continue para a próxima etapa até fechar todas as janelas abertas do PowerShell.
Você pode usar um script auxiliar para excluir módulos antigos do AKS-HCI PowerShell, para evitar quaisquer problemas relacionados à versão do PowerShell em sua implantação do AKS.
Valide a instalação
Get-Command -Module AksHci
Para exibir a lista completa de comandos do AksHci PowerShell, consulte AksHci PowerShell.
Registar o fornecedor de recursos na sua subscrição
Antes do processo de registro, habilite o provedor de recursos apropriado no Azure para AKS habilitado pelo registro Arc. Para fazer isso, execute os seguintes comandos do PowerShell:
Para entrar no Azure, execute o comando Connect-AzAccount PowerShell:
Connect-AzAccount
Se você quiser alternar para uma assinatura diferente, execute o comando Set-AzContext PowerShell:
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Execute os comandos a seguir para registrar sua assinatura do Azure nos provedores de recursos do Kubernetes habilitados para Azure Arc. Este processo de registo pode demorar até 10 minutos, mas só precisa de ser realizado uma vez numa subscrição específica:
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Para validar o processo de registro, execute os seguintes comandos do PowerShell:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Etapa 1: Preparar sua(s) máquina(s) para implantação
Execute verificações em cada nó físico para ver se todos os requisitos para instalar o AKS habilitado pelo Arc estão satisfeitos. Abra o PowerShell como administrador e execute o seguinte comando Initialize-AksHciNode em todos os nós do cluster do Azure Local e do Windows Server:
Initialize-AksHciNode
Etapa 2: Criar uma rede virtual
Execute os comandos a seguir em qualquer nó no cluster do Azure Local e do Windows Server.
Para obter os nomes das opções disponíveis, execute o seguinte comando. Verifique se o SwitchType
comutador de VM é "Externo":
Get-VMSwitch
Saída de exemplo:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Para criar uma rede virtual para os nós em sua implantação usarem, crie uma variável de ambiente com o comando New-AksHciNetworkSetting PowerShell. Essa rede virtual é usada posteriormente para configurar uma implantação que usa IP estático. Se você quiser configurar sua implantação do AKS com DHCP, consulte New-AksHciNetworkSetting para obter exemplos. Você também pode revisar alguns conceitos de nó de rede.
#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
Nota
Você deve personalizar os valores mostrados neste comando de exemplo para seu ambiente.
Etapa 3: Configurar sua implantação
Execute os comandos a seguir em qualquer nó no cluster do Azure Local e do Windows Server.
Para criar as definições de configuração para o host AKS, use o comando Set-AksHciConfig . Você deve especificar os imageDir
parâmetros , workingDir
e cloudConfigLocation
. Se você quiser redefinir os detalhes da configuração, execute o comando novamente com novos parâmetros.
Configure sua implantação com o seguinte comando:
$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet
Nota
Você deve personalizar os valores mostrados neste comando de exemplo para seu ambiente.
Etapa 4: Entrar no Azure e definir as configurações de registro
Opção 1: Use sua conta do Microsoft Entra se você tiver permissões de "Proprietário"
Execute o seguinte comando Set-AksHciRegistration PowerShell com seu nome de assinatura e grupo de recursos para entrar no Azure. Você deve ter uma assinatura do Azure e um grupo de recursos do Azure existente nas regiões do Azure Leste da Austrália, Leste dos EUA, Sudeste Asiático ou Europa Ocidental:
Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"
Opção 2: Usar uma entidade de serviço do Azure
Se você não tiver acesso a uma assinatura na qual você é um "Proprietário", poderá registrar seu host AKS no Azure para cobrança usando uma entidade de serviço. Para obter mais informações sobre como usar uma entidade de serviço, consulte registrar o AKS no Azure Local e no Windows Server usando uma entidade de serviço.
Etapa 5: Iniciar uma nova implantação
Execute o seguinte comando em qualquer nó no cluster do Azure Local ou do Windows Server.
Depois de configurar sua implantação, você deve iniciá-la para instalar os agentes/serviços AKS e o host AKS. Para iniciar a implantação, execute o seguinte comando:
Gorjeta
Para ver detalhes de status adicionais durante a instalação, defina $VerbosePreference = "Continue"
antes de continuar.
Install-AksHci
Aviso
Durante a instalação do seu host AKS, um tipo de recurso Kubernetes - Azure Arc é criado no grupo de recursos definido durante o registro. Não exclua este recurso, pois ele representa seu host AKS. Você pode identificar o recurso verificando seu campo de distribuição para obter um valor de aks_management
. Se você excluir esse recurso, isso resultará em uma implantação fora da política.
Etapa 6: Criar um cluster do Kubernetes
Depois de instalar seu host AKS, você pode implantar um cluster Kubernetes. Abra o PowerShell como administrador e execute o seguinte comando New-AksHciCluster . Este comando de exemplo cria um novo cluster Kubernetes com um pool de nós Linux nomeado linuxnodepool
com uma contagem de nós de 1.
Para obter mais informações sobre pools de nós, consulte Usar pools de nós no AKS.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux
Verifique os clusters implantados
Para obter uma lista de seus clusters Kubernetes implantados, execute o seguinte comando Get-AksHciCluster PowerShell:
Get-AksHciCluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Para obter uma lista dos pools de nós no cluster, execute o seguinte comando Get-AksHciNodePool PowerShell:
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Etapa 7: Conectar seu cluster ao Kubernetes habilitado para Arc
Conecte seu cluster ao Kubernetes habilitado para Arc executando o comando Enable-AksHciArcConnection . O exemplo a seguir conecta seu cluster Kubernetes ao Arc usando os detalhes da assinatura e do grupo de recursos que você passou no Set-AksHciRegistration
comando:
Connect-AzAccount
Enable-AksHciArcConnection -name mycluster
Nota
Se você encontrar problemas ou mensagens de erro durante o processo de instalação, consulte Problemas e erros conhecidos da instalação para obter mais informações.
Dimensionar um cluster do Kubernetes
Se precisar dimensionar o cluster para cima ou para baixo, você pode alterar o número de nós do plano de controle usando o comando Set-AksHciCluster . Para alterar o número de nós de trabalho do Linux ou do Windows no pool de nós, use o comando Set-AksHciNodePool .
Para dimensionar nós de plano de controle, execute o seguinte comando:
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Para dimensionar os nós de trabalho no pool de nós, execute o seguinte comando:
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Nota
Em versões anteriores do AKS no Azure Local e no Windows Server, o comando Set-AksHciCluster também era usado para dimensionar nós de trabalho. Agora que o AKS está introduzindo pools de nós em clusters de carga de trabalho, você só pode usar esse comando para dimensionar nós de trabalho se o cluster tiver sido criado com o parâmetro antigo definido em New-AksHciCluster.
Para dimensionar nós de trabalho em um pool de nós, use o comando Set-AksHciNodePool .
Acesse seus clusters usando kubectl
Para acessar seus clusters Kubernetes usando kubectl, execute o comando Get-AksHciCredential PowerShell. Isso usará o arquivo kubeconfig do cluster especificado como o arquivo kubeconfig padrão para kubectl. Você também pode usar kubectl para implantar aplicativos usando Helm:
Get-AksHciCredential -name mycluster
Excluir um cluster do Kubernetes
Para excluir um cluster Kubernetes, execute o seguinte comando:
Remove-AksHciCluster -name mycluster
Nota
Certifique-se de que o cluster é excluído examinando as VMs existentes no Gerenciador do Hyper-V. Se eles não forem excluídos, você poderá excluir manualmente as VMs. Em seguida, execute o comando Restart-Service wssdagent
. Execute este comando em cada nó do cluster de failover.
Obter registos
Para obter logs de todos os seus pods, execute o comando Get-AksHciLogs . Este comando cria uma pasta compactada de saída chamada akshcilogs.zip
em seu diretório de trabalho. O caminho completo para a akshcilogs.zip
pasta é a saída depois de executar o seguinte comando:
Get-AksHciLogs
Neste início rápido, você aprendeu como configurar um host AKS e criar clusters Kubernetes usando o PowerShell. Você também aprendeu como usar o PowerShell para dimensionar um cluster Kubernetes e acessar clusters com kubectl
o .