Adicionar o Host Dedicado do Azure a um cluster de AKS (Serviço de Kubernetes do Azure)
O Host Dedicado do Azure é um serviço que fornece servidores físicos - que podem hospedar uma ou mais máquinas virtuais - dedicados a uma assinatura do Azure. Os Hosts dedicados são os mesmos servidores físicos usados em nossos data centers, fornecidos como um recurso. Você pode provisionar hosts dedicados em uma região, zona de disponibilidade e domínio de falha. Em seguida, você pode posicionar VMs diretamente em seus hosts provisionados, em qualquer configuração que melhor atenda às suas necessidades.
O uso de Host Dedicado do Azure para nós com o cluster de AKS tem os seguintes benefícios:
- Isolamento de hardware no nível do servidor físico. Nenhuma outra VM será colocada nos hosts. Os hosts dedicados são implantados nos mesmos data centers e compartilham a mesma rede e a infraestrutura de armazenamento subjacente que outros hosts não isolados.
- Controle sobre eventos de manutenção iniciados pela plataforma do Azure. Embora a maioria dos eventos de manutenção tenha pouco ou nenhum impacto nas máquinas virtuais, há algumas cargas de trabalho confidenciais em que cada segundo de pausa pode ter um impacto. Com hosts dedicados, você pode aceitar uma janela de manutenção para reduzir o impacto no serviço.
Antes de começar
- Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, é possível criar uma conta gratuita.
- Antes de começar, verifique se a sua versão da CLI do Azure é 2.39.0 ou posterior. Se ela for uma versão anterior, instale a última versão.
Limitações
As seguintes limitações se aplicam quando você integra o Host Dedicado do Azure ao Serviço de Kubernetes do Azure:
- Rede Acelerada
- Um agentpool existente não pode ser convertido de não ADH para ADH ou ADH para não ADH.
- Não há suporte para atualizar agentpool do grupo de hosts a para o grupo de hosts B.
- Usar o ADH entre assinaturas.
Como planejar a capacidade de ADH no AKS
Nem todas as SKUs de host estão disponíveis em todas as regiões e zonas de disponibilidade. Você pode listar a disponibilidade do host e quaisquer restrições de oferta antes de iniciar o provisionamento de hosts dedicados.
az vm list-skus --location eastus --resource-type hostGroups/hosts -o table
Observação
Primeiro, ao usar o grupo de hosts, a contagem de domínios de falha do pool de nós é sempre a mesma que a contagem de domínios de falha do grupo de hosts. Para usar o dimensionamento automático do cluster para trabalhar com o ADH e o AKS, verifique se a contagem e a capacidade do domínio de falha do grupo de hosts são suficientes. Em segundo lugar, somente altere a contagem de domínios de falha do padrão de um para qualquer outro número se você souber o que eles estão fazendo, pois uma configuração incorreta poderá levar a uma configuração incalculável.
Determine quantos hosts você precisaria com base na utilização esperada da VM.
Avalie a utilização do host para determinar o número de VMs alocadas por tamanho antes da implantação.
az vm host get-instance-view --resource-group myDHResourceGroup --host-group MyHostGroup --name MyHost
Adicionar um Grupo de Host Dedicado a um cluster de AKS
Um grupo de hosts é um recurso que representa uma coleção de hosts dedicados. Você cria um grupo de hosts em uma região e uma zona de disponibilidade e adiciona hosts a ele. Ao planejar a alta disponibilidade, há mais opções. Você pode usar uma ou ambas as opções a seguir com hosts dedicados:
- Alcance de várias zonas de disponibilidade. Nesse caso, é necessário ter um grupo de hosts em cada uma das zonas que você quer usar.
- Alcance de vários domínios de falha que são mapeados para racks físicos.
Em ambos os casos, você precisa fornecer a contagem de domínios de falha ao seu grupo de hosts. Se você não quiser abranger domínios de falha no seu grupo, use uma contagem de domínio de falha de 1.
Você também pode optar por usar tanto zonas de disponibilidade quanto domínios de falha.
Criar um grupo de hosts
Criamos um host dedicado no grupo de hosts. Além de um nome para o host, você deve fornecer o SKU para o host. O SKU do host captura a série de VMs com suporte e a geração de hardware para o host dedicado.
Para mais informações sobre preços e SKUs do host, consulte Preços do Host Dedicado do Azure.
Use az vm host create para criar um host. Ao definir uma contagem de domínios de falha para seu grupo de hosts, você será solicitado a especificar o domínio de falha para o host.
Neste exemplo, usaremos az vm host group create para criar um grupo de hosts usando zonas de disponibilidade e domínios de falha.
az vm host group create \
--name myHostGroup \
--resource-group myDHResourceGroup \
--zone 1 \
--platform-fault-domain-count 1 \
--automatic-placement true
Criar um Host Dedicado
Criamos um host dedicado no grupo de hosts. Além de um nome para o host, você deve fornecer o SKU para o host. O SKU do host captura a série de VMs com suporte e a geração de hardware para o host dedicado.
Se você definir uma contagem de domínios de falha para o grupo de hosts, será necessário especificar o domínio de falha para o host.
az vm host create \
--host-group myHostGroup \
--name myHost \
--sku DSv3-Type1 \
--platform-fault-domain 1 \
--resource-group myDHResourceGroup
Usar uma Identidade atribuída pelo usuário
Importante
Uma Identidade atribuída pelo usuário com a função "colaborador" no Grupo de Recursos do Grupo de Host é necessária.
Primeiro, crie uma Identidade Gerenciada
az identity create --resource-group <Resource Group> --name <Managed Identity name>
Atribuir Identidade Gerenciada
az role assignment create --assignee <id> --role "Contributor" --scope <Resource id>
Criar um cluster de AKS usando o grupo de hosts
Crie um cluster de AKS e adicione o grupo de hosts que você acabou de configurar.
az aks create \
--resource-group MyResourceGroup \
--name MyManagedCluster \
--location eastus \
--nodepool-name agentpool1 \
--node-count 1 \
--host-group-id <id> \
--node-vm-size Standard_D2s_v3 \
--assign-identity <id> \
--generate-ssh-keys
Adicionar um Pool do Nó do Host Dedicado a um cluster de AKS existente
Adicione um grupo de hosts a um cluster de AKS já existente.
az aks nodepool add --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup --node-count 1 --host-group-id <id> --node-vm-size Standard_D2s_v3
Remover um Pool de Nó de Host Dedicado de um cluster de AKS
az aks nodepool delete --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup
Próximas etapas
Neste artigo, você aprendeu a criar um cluster de AKS com um Host Dedicado e a adicionar um host dedicado a um cluster existente. Para obter mais informações sobre Hosts Dedicados, consulte hosts dedicados.
Azure Kubernetes Service