Tutorial: Implementar um cluster de carga de trabalho no Serviço Azure Kubernetes no Azure Stack HCI

O Kubernetes dispõe de uma plataforma distribuída para aplicações em contentores. Neste tutorial, parte três de sete, um cluster AKS on Azure Stack HCI é implantado no Serviço Azure Kubernetes em Azure Stack HCI. Saiba como:

  • Implementar um cluster AKS no Azure Stack HCI
  • Instalar a CLI do Kubernetes (kubectl)
  • Configure kubectl para ligar ao seu cluster de carga de trabalho

Em tutoriais posteriores, a aplicação Azure Vote é implantada no cluster, dimensionada e atualizada.

Antes de começar

Nos tutoriais anteriores, foi criada e carregada uma imagem de contentor para uma instância do Azure Container Registry. Se não fez estes passos e gostaria de seguir em frente, comece no Tutorial 1 – Crie imagens de contentores.

Este tutorial utiliza o módulo AksHci PowerShell. Se ainda não o instalou, execute os seguintes comandos para o instalar.

Install-Module -Name Az.Accounts -Repository PSGallery -RequiredVersion 2.2.4
Install-Module -Name Az.Resources -Repository PSGallery -RequiredVersion 3.2.0
Install-Module -Name AzureAD -Repository PSGallery -RequiredVersion 2.0.2.128
Install-Module -Name AksHci -Repository PSGallery
Import-Module Az.Accounts
Import-Module Az.Resources
Import-Module AzureAD
Import-Module AksHci

Se estiver a utilizar o PowerShell remoto, tem de utilizar o CredSSP.

Instale o Anfitrião de Serviço Azure Kubernetes

Em primeiro lugar, tem de configurar as suas definições de registo.

Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup

Tem de personalizar estes valores de acordo com a subscrição do Azure e o nome do grupo de recursos.

Em seguida, executar o seguinte comando para garantir que todos os requisitos em cada nó físico são cumpridos para instalar o serviço Azure Kubernetes em Azure Stack HCI.

Initialize-AksHciNode

Em seguida, criaremos uma rede virtual. Terá de obter os nomes dos seus interruptores externos disponíveis:

Get-VMSwitch

Saída da amostra:

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

Executar 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, configuure o seu destacamento com o seguinte comando.

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

Agora, está pronto para instalar o Serviço Azure Kubernetes no anfitrião Azure Stack HCI.

Install-AksHCi

Criar um cluster do Kubernetes

Criar um cluster Kubernetes utilizando o comando New-AksHciCluster. O exemplo a seguir cria um aglomerado chamado mycluster com a única piscina de nó Linux chamada linuxnodepool com uma contagem de nó de 1.

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

Para verificar se a implantação foi bem sucedida, executar o seguinte comando.

Get-AksHcicluster -name mycluster

Saída:

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

Nota

Se utilizar os novos parâmetros para New-AksHciCluster implantar um cluster e, em seguida, correr Get-AksHciCluster para obter a informação do cluster, os campos WindowsNodeCount e na saída LinuxNodeCount voltarão 0 . Para obter o número preciso de nós em cada piscina de nós, utilize o comando Get-AksHciNodePool com o nome de cluster especificado.

Para obter uma lista das piscinas de nó 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 do Kubernetes

Para ligar ao cluster de Kubernetes a partir do computador local, utilize kubectl, o cliente de linha de comandos do Kubernetes.

Ligar ao cluster com o kubectl

Para configurar kubectl para ligar ao seu cluster Kubernetes, utilize o comando kubectl O exemplo a seguir obtém credenciais para o cluster chamado mycluster.

Get-AksHciCredential -name mycluster

Para verificar a ligação ao seu cluster, executar o comando kubectl get nodes para devolver uma lista dos nóns do cluster:

kubectl get nodes

Saída:

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

Passos seguintes

Neste tutorial, um cluster do cluster do Kubernetes foi implementado no AKS e configurou kubectl para se ligar ao mesmo. Aprendeu a:

  • Implementar um cluster AKS no Azure Stack HCI
  • Instalar a CLI do Kubernetes (kubectl)
  • Configurar o kubectl para ligar ao seu cluster do AKS

Prossiga para o próximo tutorial para saber como implementar uma aplicação no cluster.