Compartilhar via


Configurar um host do Serviço de 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 AKS (Serviço de Kubernetes do Azure). Você cria clusters do Kubernetes no Azure Local e no Windows Server usando o PowerShell. Para usar Windows Admin Center, consulte Configurar com Windows Admin Center.

Observação

Antes de começar

  • Certifique-se de ter atendido a todos os pré-requisitos dos requisitos do sistema.
  • Use uma conta do Azure para registrar seu host AKS para cobrança. Para obter mais informações, confira Requisitos do Azure.

Instalar o módulo AksHci PowerShell

Siga estas etapas em todos os nós no cluster local do Azure ou no cluster do Windows Server:

Observação

Se você estiver usando o PowerShell remoto, deverá usar o CredSSP.

  1. 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 no cluster local do Azure 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.

  2. Instale o módulo AKS-HCI do PowerShell executando o seguinte comando em todos os nós no cluster local do Azure 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 PowerShell do AKS-HCI, para evitar problemas relacionados à versão do PowerShell em sua implantação do AKS.

Validar a instalação

Get-Command -Module AksHci

Para exibir a lista completa de comandos do AksHci PowerShell, consulte AksHci PowerShell.

Registre o provedor de recursos em sua assinatura

Antes do processo de registro, habilite o provedor de recursos apropriado no Azure para AKS habilitado pelo registro do Arc. Para fazer isso, execute os seguintes comandos do PowerShell:

Para entrar no Azure, execute o comando Connect-AzAccount do PowerShell:

Connect-AzAccount

Se você quiser alternar para uma assinatura diferente, execute o comando Set-AzContext do PowerShell:

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Execute os comandos a seguir para registrar sua assinatura do Azure em provedores de recursos do Kubernetes habilitados para Azure Arc. Esse processo de registro pode levar até 10 minutos, mas só precisa ser realizado uma vez em uma assinatura 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 foram atendidos. Abra o PowerShell como administrador e execute o seguinte comando Initialize-AksHciNode em todos os nós no cluster Local do Azure e do Windows Server:

Initialize-AksHciNode

Etapa 2: Criar uma rede virtual

Execute os comandos a seguir em qualquer nó no cluster Local do Azure e do Windows Server.

Para obter os nomes dos switches disponíveis, execute o comando a seguir. 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 do 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

Observação

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 Local do Azure e do Windows Server.

Para criar as definições de configuração para o host do AKS, use o comando Set-AksHciConfig . Você deve especificar os imageDirparâmetros , workingDire .cloudConfigLocation Se você quiser redefinir seus detalhes de 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

Observação

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 do PowerShell com o nome da assinatura e do 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 comando a seguir em qualquer nó no cluster Local do Azure ou do Windows Server.

Depois de configurar sua implantação, você deve iniciá-la para instalar os agentes/serviços do AKS e o host do AKS. Para iniciar a implantação, execute o seguinte comando:

Dica

Para ver detalhes adicionais do status durante a instalação, defina $VerbosePreference = "Continue" antes de continuar.

Install-AksHci

Aviso

Durante a instalação do host do AKS, um tipo de recurso Kubernetes – Azure Arc é criado no grupo de recursos definido durante o registro. Não exclua esse recurso, pois ele representa o host do AKS. Você pode identificar o recurso verificando seu campo de distribuição para 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 o host do AKS, você pode implantar um cluster do Kubernetes. Abra o PowerShell como administrador e execute o seguinte comando New-AksHciCluster . Este comando de exemplo cria um novo cluster do Kubernetes com um pool de nós do 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

Verificar seus clusters implantados

Para obter uma lista dos clusters do Kubernetes implantados, execute o seguinte comando Get-AksHciCluster do 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 do 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 o cluster do 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

Observação

Se você encontrar problemas ou mensagens de erro durante o processo de instalação, consulte problemas conhecidos e erros de instalação para obter mais informações.

Dimensionar um cluster do Kubernetes

Se você precisar escalar ou reduzir verticalmente o cluster, poderá 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 Windows no pool de nós, use o comando Set-AksHciNodePool .

Para dimensionar os nós do 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

Observação

Nas 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ó poderá usar esse comando para dimensionar nós de trabalho se o cluster tiver sido criado com o conjunto de parâmetros antigo em New-AksHciCluster.

Para dimensionar nós de trabalho em um pool de nós, use o comando Set-AksHciNodePool .

Acessar seus clusters usando kubectl

Para acessar seus clusters do Kubernetes usando kubectl, execute o comando Get-AksHciCredential do PowerShell. Isso usará o arquivo kubeconfig do cluster especificado como o arquivo kubeconfig padrão para kubectl. Você também pode usar o kubectl para implantar aplicativos usando o Helm:

Get-AksHciCredential -name mycluster

Excluir um cluster do Kubernetes

Para excluir um cluster do Kubernetes, execute o seguinte comando:

Remove-AksHciCluster -name mycluster

Observação

Verifique se o cluster foi 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 esse comando em cada nó no cluster de failover.

Obter logs

Para obter logs de todos os pods, execute o comando Get-AksHciLogs . Esse 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 após a execução do seguinte comando:

Get-AksHciLogs

Neste início rápido, você aprendeu a configurar um host do AKS e criar clusters do Kubernetes usando o PowerShell. Você também aprendeu a usar o PowerShell para dimensionar um cluster do Kubernetes e acessar clusters com kubectlo .

Próximas etapas