Tutorial: Implantar um cluster de carga de trabalho no AKS habilitado pelo Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Kubernetes fornece uma plataforma distribuída para aplicativos em contêineres.

Neste tutorial, parte três de sete, um cluster do Kubernetes é implantado no AKS no Azure Stack HCI. Você aprenderá a:

  • Implantar um cluster do AKS no Azure Stack HCI
  • Instalar a CLI Kubernetes (kubectl)
  • Configurar o kubectl para se conectar ao cluster de carga de trabalho

Em tutoriais posteriores, o aplicativo Azure Vote será implantado no cluster, escalado e atualizado.

Antes de começar

Nos tutoriais anteriores, uma imagem de contêiner foi criada e carregada em uma instância do Registro de Contêiner do Azure. Se você ainda não tiver feito essas etapas, comece no Tutorial 1 – Criar imagens de contêiner.

Este tutorial usa o módulo do AksHci PowerShell.

Siga estas etapas em todos os nós no cluster do Azure Stack HCI 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 do Azure Stack HCI 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 do PowerShell do AKS-HCI executando o seguinte comando em todos os nós no cluster do Azure Stack HCI 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.

Instalar o host Serviço de Kubernetes do Azure

Primeiro, defina suas configurações de registro.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Você deve personalizar esses valores de acordo com sua assinatura do Azure e o nome do grupo de recursos.

Em seguida, execute o seguinte comando para garantir que todos os requisitos em cada nó físico sejam atendidos para instalar o AKS no Azure Stack HCI:

Initialize-AksHciNode

Em seguida, crie uma rede virtual. Você precisará dos nomes dos comutadores externos disponíveis:

Get-VMSwitch

Saída de exemplo:

Name        SwitchType    NetAdapterInterfaceDescription
----        ----------    ------------------------------
extSwitch   External      Mellanox ConnectX-3 Pro Ethernet Adapter

Execute o seguinte comando para criar uma rede virtual com IP estático:

$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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

Em seguida, configure a implantação com o comando a seguir.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16" 

Agora, você está pronto para instalar o host do AKS:

Install-AksHCi

Criar um cluster do Kubernetes

Crie um cluster kubernetes usando o comando New-AksHciCluster. O exemplo a seguir cria um cluster chamado mycluster com um pool de nós do Linux chamado linuxnodepool, que tem uma contagem de nós de 1:

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1

Para verificar se a implantação foi bem-sucedida, execute o comando a seguir.

Get-AksHcicluster -name mycluster
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Observação

Se você usar os novos conjuntos de parâmetros em para implantar um cluster e, em New-AksHciCluster seguida, executar Get-AksHciCluster para obter as informações do cluster, os campos WindowsNodeCount e LinuxNodeCount na saída retornarão 0. Para obter o número preciso de nós em cada pool de nós, use o comando Get-AksHciNodePool com o nome do cluster especificado.

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

Instalar a CLI Kubernetes

Para se conectar ao cluster kubernetes do computador local, use kubectl, o cliente de linha de comando do Kubernetes.

Conectar-se ao cluster usando o kubectl

Para configurar kubectl para se conectar ao cluster do Kubernetes, use o comando Get-AksHciCredential . O exemplo a seguir obtém credenciais para o cluster chamado mycluster:

Get-AksHciCredential -name mycluster

Para verificar a conexão com o cluster, execute o comando kubectl get nodes para retornar uma lista dos nós de cluster:

kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
moc-lbs6got5dqo   Ready    <none>                 6d20h   v1.20.7
moc-lel7tzxdt30   Ready    control-plane,master   6d20h   v1.20.7

Próximas etapas

Neste tutorial, um cluster Kubernetes foi implantado no AKS e você configurou o kubectl para conectar-se a ele. Você aprendeu a:

  • Implantar um cluster do AKS no Azure Stack HCI
  • Instalar a CLI Kubernetes (kubectl)
  • Configurar o kubectil para conectar-se ao cluster AKS

Siga para o próximo tutorial para saber como implantar um aplicativo ao cluster.