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 Local. Você aprenderá a:
- Implantar um cluster do AKS no Azure Local
- 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 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.
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.
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.
Instalar o host do 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 a 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 Local:
Initialize-AksHciNode
Em seguida, crie uma rede virtual. Você precisará dos nomes dos 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 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 do Kubernetes usando o comando New-AksHciCluster. O exemplo a seguir cria um cluster nomeado 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 para New-AksHciCluster
implantar um cluster e, em 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 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 do 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 do Kubernetes a partir do computador local, use kubectl, o cliente de linha de comando do Kubernetes.
Conectar-se ao cluster usando o kubectl
Para configurar kubectl
a conexão com o 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 Local
- 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.