Início Rápido: Configurar um host Serviço de Kubernetes do Azure no Azure Stack HCI e no Windows Server e implantar um cluster de carga de trabalho usando o PowerShell
Aplica-se a: Azure Stack HCI ou Windows Server Datacenter
Neste início rápido, você aprenderá a configuração de um host aks (Serviço de Kubernetes do Azure). Você criará o AKS nos clusters do Azure Stack HCI e do Windows Server usando o PowerShell. Em vez disso, para usar Windows Admin Center, consulte Configurar com Windows Admin Center.
Observação
- Se você tiver objetos de serviço de cluster pré-preparados e registros DNS, consulte implantar um host AKS com objetos de serviço de cluster pré-preparados e registros DNS usando o PowerShell.
- Se você tiver um servidor proxy, consulte Configurar um host do AKS e implantar um cluster de carga de trabalho usando o PowerShell e um servidor proxy.
Antes de começar
- Verifique se você cumpriu todos os pré-requisitos na página de requisitos do sistema .
- Use uma conta do Azure para registrar o host do AKS para cobrança. Para obter mais informações, visite os requisitos do Azure.
Instalar o módulo do AksHci PowerShell
Em todos os nós no cluster do Azure Stack HCI ou no cluster do Windows Server
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 do Azure Stack HCI ou do Windows Server:
Install-PackageProvider -Name NuGet -Force
Install-Module -Name PowershellGet -Force -Confirm:$false -SkipPublisherCheck
Exit
Você deve fechar todas as janelas existentes do PowerShell novamente para garantir que os módulos carregados sejam atualizados. Não prossiga para a próxima etapa até que você tenha fechado todas as janelas abertas do PowerShell.
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
Exit
Você deve fechar todas as janelas existentes do PowerShell novamente para garantir que os módulos carregados sejam atualizados. Não prossiga para a próxima etapa até que você tenha fechado 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 o AksHci PowerShell.
Registrar o provedor de recursos em sua assinatura
Antes do processo de registro, você precisa habilitar o provedor de recursos apropriado no Azure para AKS no registro do Azure Stack HCI e do Windows Server. Para fazer isso, execute os seguintes comandos do PowerShell.
Para fazer logon no Azure, execute o comando Connect-AzAccount PowerShell:
Connect-AzAccount
Se você quiser alternar para uma assinatura diferente, execute o comando Set-AzContext PowerShell:
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Execute o comando a seguir para registrar sua assinatura do Azure nos provedores de recursos do Kubernetes habilitados para Azure Arc. Esse processo de registro pode levar até 10 minutos, mas só precisa ser executado uma vez em uma assinatura específica.
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Para validar o processo de registro, execute o seguinte comando do PowerShell:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Etapa 1: Preparar seus computadores para implantação
Execute verificações em cada nó físico para ver se todos os requisitos estão atendidos para instalar o AKS no Azure Stack HCI e no Windows Server. Abra o PowerShell como administrador e execute o seguinte comando Initialize-AksHciNode . Execute o comando a seguir em todos os nós no Azure Stack HCI no cluster do Windows Server.
Initialize-AksHciNode
Etapa 2: Criar uma rede virtual
Execute os comandos a seguir na etapa 2 em qualquer nó no Azure Stack HCI no cluster do Windows Server.
Para obter os nomes dos comutadores disponíveis, execute o comando a seguir. Verifique se o SwitchType comutador da VM é "Externo".
Get-VMSwitch
Saída de exemplo:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Para criar uma rede virtual para os nós em sua implantação usarem, crie uma variável de ambiente com o comando New-AksHciNetworkSetting PowerShell. Isso será usado posteriormente para configurar uma implantação que usa IP estático. Se você quiser configurar sua implantação do AKS com DHCP, visite New-AksHciNetworkSetting para obter exemplos. Você também pode examinar alguns conceitos de nó de rede.
#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -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
Observação
Os valores fornecidos neste comando de exemplo precisarão ser personalizados para seu ambiente.
Etapa 3: Configurar sua implantação
Execute os comandos a seguir na etapa 3 em qualquer nó no Azure Stack HCI no cluster do Windows Server.
Para criar as configurações do host do AKS, use o comando Set-AksHciConfig . Você deve especificar os parâmetros e cloudConfigLocation os imageDirworkingDirparâmetros. Se você quiser redefinir os detalhes de configuração, execute o comando novamente com novos parâmetros.
Configure sua implantação com o comando a seguir.
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -workingDir c:\ClusterStorage\Volume1\ImageStore -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
Observação
Os valores fornecidos neste comando de exemplo precisarão ser personalizados para seu ambiente.
Etapa 4: Fazer logon no Azure e definir as configurações de registro
Opção 1: usar sua conta de Azure AD se você tiver permissões de "Proprietário"
Execute o seguinte comando Set-AksHciRegistration PowerShell com sua assinatura e o nome do grupo de recursos para fazer logon no Azure. Você deve ter uma assinatura do Azure e um grupo de recursos existente do Azure nas regiões Leste da Austrália, Leste dos EUA, Sudeste da Ásia ou Oeste da Europa para continuar.
Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"
Opção 2: usando uma entidade de serviço do Azure
Se você não tiver acesso a uma assinatura na qual é um "Proprietário", poderá registrar o host do AKS no Azure para cobrança usando uma entidade de serviço. Para saber mais sobre como usar um serviço prinicipal, visite registrar o AKS no Azure Stack HCI e no Windows Server usando uma entidade de serviço
Etapa 5: Iniciar uma nova implantação
Execute o comando a seguir na etapa 5 em qualquer nó no cluster do Azure Stack HCI ou do Windows Server.
Depois de configurar sua implantação, você deve iniciá-la para instalar o AKS no Azure Stack HCI e nos agentes/serviços do Windows Server e no host do AKS. Para iniciar a implantação, execute o comando a seguir.
Dica
Para ver detalhes de status adicionais durante a instalação, defina $VerbosePreference = "Continue" antes de prosseguir.
Install-AksHci
Aviso
Durante a instalação do host do Serviço de Kuberenetes do Azure, um tipo de recurso do Kubernetes – Azure Arc é criado no grupo de recursos definido durante o registro. Não exclua esse recurso, pois ele representa o host do Serviço de Kuberenetes do Azure. Você pode identificar o recurso verificando seu campo de distribuição para obter um valor de aks_management. A exclusão desse recurso resultará em uma implantação fora da política.
Etapa 6: Criar um cluster do Kubernetes
Depois de instalar o host do AKS, você estará pronto para implantar um cluster do Kubernetes. Abra o PowerShell como administrador e execute o seguinte comando New-AksHciCluster . Este comando de exemplo criará um novo cluster do Kubernetes com um pool de nós do Linux chamado linuxnodepool com uma contagem de nós de 1. Para ler mais informações sobre pools de nós, visite Usar pools de nós no AKS no Azure Stack HCI e no Windows Server.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux
Verifique seus clusters implantados
Para obter uma lista dos clusters do Kubernetes implantados, execute o seguinte comando Get-AksHciCluster PowerShell.
Get-AksHciCluster
Saída
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
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
Etapa 7: Conectar seu cluster ao Kubernetes habilitado para Arc
Conecte o cluster ao Kubernetes habilitado para Arc executando o comando Enable-AksHciArcConnection . O exemplo a seguir conecta o AKS no Azure Stack HCI e no cluster do Windows Server ao Arc usando os detalhes da assinatura e do grupo de recursos que você passou no Set-AksHciRegistration comando.
Connect-AzAccount
Enable-AksHciArcConnection -name mycluster
Observação
Se você encontrar problemas ou mensagens de erro durante o processo de instalação, consulte problemas conhecidos de instalação e erros para obter mais informações.
Dimensionar um cluster do Kubernetes
Se você precisar escalar ou reduzir verticalmente o cluster, poderá alterar o número de nós do plano de controle usando o comando Set-AksHciCluster e alterar o número de nós de trabalho do Linux ou do Windows no pool de nós usando o comando Set-AksHciNodePool .
Para dimensionar os nós do plano de controle, execute o comando a seguir.
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Para dimensionar os nós de trabalho no pool de nós, execute o comando a seguir.
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Observação
Nas versões anteriores do AKS no Azure Stack HCI e no Windows Server, o comando Set-AksHciCluster também foi usado para dimensionar nós de trabalho. O AKS no Azure Stack HCI e no Windows Server está introduzindo pools de nós em clusters de carga de trabalho agora, portanto, esse comando só poderá ser usado para dimensionar nós de trabalho se o cluster tiver sido criado com o parâmetro antigo definido em New-AksHciCluster. Para dimensionar nós de trabalho em um pool de nós, use o comando Set-AksHciNodePool .
Acessar seus clusters usando kubectl
Para acessar os clusters do Kubernetes usando kubectl, execute o comando Get-AksHciCredential PowerShell. Isso usará o arquivo kubeconfig do cluster especificado como o arquivo kubeconfig padrão para kubectl. Você também pode usar o kubectl para implantar aplicativos usando o Helm.
Get-AksHciCredential -name mycluster
Excluir um cluster do Kubernetes
Se você precisar excluir um cluster do Kubernetes, execute o comando a seguir.
Remove-AksHciCluster -name mycluster
Observação
Verifique se o cluster foi excluído examinando as VMs existentes no Gerenciador do Hyper-V. Se elas não forem excluídas, você poderá excluir manualmente as VMs. Em seguida, execute o comando Restart-Service wssdagent. Isso deve ser feito em cada nó no cluster de failover.
Obter logs
Para obter logs de todos os pods, execute o comando Get-AksHciLogs . Esse comando criará uma pasta compactada de saída chamada akshcilogs.zip no diretório de trabalho. O caminho completo para a akshcilogs.zip pasta será a saída depois de executar o comando abaixo.
Get-AksHciLogs
Neste início rápido, você aprendeu a configurar um host do AKS e criar o AKS em clusters do Azure Stack HCI e do Windows Server usando o PowerShell. Você também aprendeu a usar o PowerShell para dimensionar um cluster do Kubernetes e acessar clusters com kubectl.