Tutorial: Implementar um cluster de cargas de trabalho no AKS ativado 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, é implementado um cluster do Kubernetes no AKS no Azure Stack HCI. Vai aprender a:
- Implementar um cluster do AKS no Azure Stack HCI
- Instalar a CLI do Kubernetes (kubectl)
- Configurar o kubectl para ligar ao cluster de cargas de trabalho
Nos tutoriais posteriores, a aplicação Azure Vote é implementada 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 ainda não efetuou estes passos, comece no Tutorial 1 – Criar imagens de contentor.
Este tutorial utiliza o módulo AksHci PowerShell.
Siga estes passos em todos os nós no cluster do Azure Stack HCI ou no cluster do Windows Server:
Nota
Se estiver a utilizar o PowerShell remoto, tem de utilizar o 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 no cluster do Azure Stack HCI ou Windows Server:
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
Tem de fechar novamente todas as janelas existentes do PowerShell para garantir que os módulos carregados são atualizados. Não avance para o passo seguinte até fechar todas as janelas do PowerShell abertas.
Instale o módulo AKS-HCI do PowerShell ao executar o seguinte comando em todos os nós no cluster do Azure Stack HCI ou Windows Server:
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
Tem de fechar novamente todas as janelas existentes do PowerShell para garantir que os módulos carregados são atualizados. Não avance para o passo seguinte até fechar todas as janelas do PowerShell abertas.
Pode utilizar um script auxiliar para eliminar módulos antigos do PowerShell do AKS-HCI para evitar problemas relacionados com a versão do PowerShell na implementação do AKS.
Validar a instalação
Get-Command -Module AksHci
Para ver a lista completa dos comandos do PowerShell do AksHci, veja AksHci PowerShell.
Instalar o anfitrião Azure Kubernetes Service
Primeiro, configure as 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, execute o seguinte comando para garantir que todos os requisitos em cada nó físico são cumpridos para instalar o AKS no Azure Stack HCI:
Initialize-AksHciNode
Em seguida, crie uma rede virtual. Precisará dos nomes dos comutadores externos disponíveis:
Get-VMSwitch
Resultado do 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 implementaçã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, está pronto para instalar o anfitrião do AKS:
Install-AksHCi
Criar um cluster do Kubernetes
Crie um cluster do Kubernetes com o comando New-AksHciCluster. O exemplo seguinte cria um cluster com o nome mycluster
com um conjunto 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 implementação foi efetuada com êxito, 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 utilizar os novos conjuntos de parâmetros para implementar 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 devolvem 0
. Para obter o número preciso de nós em cada conjunto de nós, utilize o comando Get-AksHciNodePool
com o nome de cluster especificado.
Para obter uma lista dos conjuntos 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 ligar ao cluster do Kubernetes a partir do seu computador local, utilize kubectl, o cliente de linha de comandos do Kubernetes.
Ligar ao cluster com o kubectl
Para configurar kubectl
a ligação ao cluster do Kubernetes, utilize o comando Get-AksHciCredential . O exemplo seguinte obtém credenciais para o cluster com o nome mycluster
:
Get-AksHciCredential -name mycluster
Para verificar a ligação ao cluster, execute o comando kubectl get nodes para devolver 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
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 do 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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários