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
O Kubernetes dispõe de uma plataforma distribuída para aplicações em contentores.
Neste tutorial, parte três de sete, um cluster Kubernetes é implantado no AKS no Azure Local. Saberá como:
- Implantar um cluster AKS no Azure Local
- Instalar a CLI do Kubernetes (kubectl)
- Configurar o kubectl para se conectar ao cluster de carga de trabalho
Em tutoriais posteriores, o aplicativo Azure Vote é implantado no cluster, dimensionado e atualizado.
Antes de começar
Nos tutoriais anteriores, foi criada e carregada uma imagem de contentor para uma instância do Azure Container Registry. Se você ainda não tiver feito essas etapas, comece no Tutorial 1 - Criar imagens de contêiner.
Este tutorial usa 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.
Instalar o host do Serviço 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 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 Local:
Initialize-AksHciNode
Em seguida, crie uma rede virtual. Você precisará dos nomes dos seus switches 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 sua implantação 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, você está pronto para instalar o host AKS:
Install-AksHCi
Criar um cluster do Kubernetes
Crie um cluster Kubernetes usando o comando New-AksHciCluster. O exemplo a seguir cria um cluster nomeado mycluster
com um pool de nós 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 seguinte comando.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Nota
Se você usar os novos conjuntos de parâmetros para implantar um cluster e, em New-AksHciCluster
seguida, executar Get-AksHciCluster
para obter as informações do cluster, os campos WindowsNodeCount
e LinuxNodeCount
no retorno 0
de saída . Para obter o número exato 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 do Kubernetes
Para se conectar ao cluster Kubernetes a partir do computador local, use kubectl, o cliente de linha de comando do Kubernetes.
Ligar ao cluster com o kubectl
Para configurar kubectl
para se conectar ao cluster 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 do 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óximos passos
Neste tutorial, um cluster do cluster do Kubernetes foi implementado no AKS e configurou kubectl
para se ligar ao mesmo. Aprendeu a:
- Implantar um cluster AKS no Azure Local
- 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.