Compartilhar via


Tutorial: Implantar nós virtuais em Instâncias de Contêiner do Azure no cluster do Serviço de Kubernetes do Azure

IInício Rápido: Implantar um cluster do Serviço de Kubernetes do Azure (AKS) usando o portal do Azure. Depois de implantar o cluster do AKS, você usa um gráfico do Helm para implantar nós virtuais em Instâncias de Contêiner do Azure.

Pré-requisitos

Este tutorial pressupõe que você tenha o seguinte:

  • CLI do Azure
  • kubectl (versão 1.29+)
  • Helm
  • Git

Entrar no Azure

Entre no portal do Microsoft Azure em https://portal.azure.com

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Criar uma rede virtual para o cluster do AKS

Na home page do portal do Azure, selecione Criar um recurso.

Captura de tela mostrando como começar a criar uma nova rede virtual no portal do Azure.

Selecione Rede>Rede virtual.

Captura de tela que mostra como selecionar uma nova instância de contêiner que você deseja criar no portal do Azure.

Na página Noções básicas, escolha uma assinatura e insira os seguintes valores:

  • Grupo de recursos: Criar novo>virtualnodesresourcegroup
  • Nome da Rede Virtual: myvirtualnetwork
  • Região: East US

Captura de tela mostrando como configurar a página Noções Básicas para criação de rede virtual no portal do Azure.

Na página Endereços IP, configure os seguintes espaços de endereço e sub-redes:

Captura de tela mostrando como configurar a página de endereços IP para criação de rede virtual no portal do Azure.

Deixe todas as outras configurações com seus padrões e selecione Examinar + criar.

Quando a validação for concluída, um resumo das configurações de seu contêiner será exibido. Selecione Criar para enviar sua solicitação de implantação de rede virtual.

Quando a implantação é iniciada, aparece uma notificação que indica que a implantação está em andamento. Outra notificação é exibida quando a rede virtual é implantada.

Criar seu cluster do AKS

Na home page do portal do Azure, selecione Criar um recurso.

Captura de tela mostrando como começar a criar uma nova rede virtual no portal do Azure.

Selecione Contêineres>Serviço de Kubernetes do Azure (AKS).

Captura de tela que mostra como selecionar um novo cluster do AKS que você deseja criar no portal do Azure.

Na página Noções básicas, escolha a mesma assinatura usada para criar a rede virtual e insira os seguintes valores:

  • Grupo de recursos: virtualnodesresourcegroup
  • Configuração predefinida do cluster: Dev/Test
  • Nome do cluster do Kubernetes: virtualnodescluster
  • Região: East US
  • Versão do Kubernetes: qualquer versão começando com 1.29., por exemplo, 1.29.10
  • Atualização automática:Enabled with patch

Captura de tela mostrando como configurar a página Noções básicas para a criação de cluster do AKS no portal do Azure.

Na página Pools de nós, selecione qualquer SKU de VM com pelo menos 4 vCPUs e 16 GB de RAM para o pool de nós agentpool. Esses nós serão usados para hospedar a infraestrutura de nós virtuais. Não selecione Enable virtual nodes. Isso se refere à oferta de nós virtuais anteriores para o AKS.

Captura de tela mostrando como configurar a página de pools de nós para a criação de cluster do AKS no portal do Azure.

No painel Rede, insira os seguintes valores:

  • Configuração de rede: Azure CNI Node Subnet
  • Traga sua própria rede virtual do Azure: Enabled
  • Rede virtual: myvirtualnetwork
  • Sub-rede do cluster: aks
  • Intervalo de endereços do Serviço de Kubernetes: 10.4.0.0/16
  • Endereço IP do serviço DNS do Kubernetes: 10.4.0.10
  • Política de rede: Calico

Captura de tela mostrando como configurar a página Rede para criação de cluster do AKS no portal do Azure.

Deixe todas as outras configurações com seus padrões e selecione Examinar + criar.

Quando a validação for concluída, um resumo das configurações de seu cluster do AKS será exibido. Selecione Criar para enviar sua solicitação de implantação de cluster do AKS.

Quando a implantação é iniciada, aparece uma notificação que indica que a implantação está em andamento. Outra notificação é exibida quando o cluster do AKS é implantado.

Atribuir permissões à identidade gerenciada do cluster do AKS

Quando você implanta um cluster do AKS, o AKS cria um grupo de recursos de nó na mesma assinatura para hospedar a infraestrutura do cluster. Por padrão, esse grupo de recursos tem um nome como MC_<resource group>_<AKS cluster>_<region>. Para este tutorial, o grupo de recursos do nó deve ter o nome MC_virtualnodesresourcegroup_virtualnodescluster_eastus.

Um dos recursos criados no grupo de recursos do nó é uma identidade gerenciada com o nome virtualnodescluster_agentpool. Navegue até essa identidade gerenciada e selecione asAtribuições de função do Azure. Em seguida, adicione as duas seguintes atribuições de função:

  • Escopo: Resource group
  • Assinatura: <your subscription name>
  • Grupo de recursos: MC_virtualnodesresourcegroup_virtualnodescluster_eastus
  • Função: Contributor

Essa atribuição de função permite a criação de grupos de contêineres de ACI no grupo de recursos do nó.

  • Escopo: Resource group
  • Assinatura: <your subscription name>
  • Grupo de recursos: virtualnodesresourcegroup
  • Função: Contributor

Essa atribuição de função permite que grupos de contêineres da ACI sejam injetados na rede virtual que você criou neste grupo de recursos.

Captura de tela mostrando as atribuições de função adicionadas à identidade gerenciada do AKS.

Instalar nós virtuais em Instâncias de Contêiner do Azure usando o gráfico do Helm

Use a CLI do Azure para efetuar pull da configuração e das credenciais para o cluster do AKS que você criou. Isso configurará o kubectl para o cluster do AKS.

az login

az account set --subscription <your subscription ID>

az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup

Além disso, registraremos o provedor de recursos da ACI em sua assinatura para que você possa implantar grupos de contêineres.

az provider register -n Microsoft.ContainerInstance

Clone o repositório GitHub virtualnodesOnAzureContainerInstances. O gráfico do Helm para instalar nós virtuais nas Instâncias de Contêiner do Azure está localizado na pasta Helm/virtualnode.

Use o seguinte comando para instalar o gráfico do Helm:

helm install virtualnode <cloned repository location>\Helm\virtualnode

Em um minuto, um novo nó virtual será registrado e em um estado Pronto no cluster do AKS. Você pode verificar o status dos nós de cluster do AKS com kubectl.

kubectl get nodes

Captura de tela mostrando a saída do comando obter nós kubectl, com um nó virtual em um estado Pronto.

Implantar seu primeiro pod em um nó virtual

Você pode interagir com nós virtuais como qualquer outro nó do Kubernetes. Por exemplo, o YAML de exemplo abaixo implantará um pod no nó virtual em seu cluster do AKS. Observe o uso de seletores de nó e tolerâncias para colocar o pod adequadamente. Você pode implantar o YAML usando kubectl apply.

apiVersion: v1
kind: Pod
metadata:
  annotations:    
  name: demo-pod
spec:
  containers:
  - command:
    - /bin/bash
    - -c
    - 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
    image: mcr.microsoft.com/azure-cli
    name: hello-world-counter
    resources:
      limits:
        cpu: 2250m
        memory: 2256Mi
      requests:
        cpu: 100m
        memory: 128Mi
  nodeSelector:
    virtualization: virtualnode2
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    operator: Exists

Depois que o pod for implantado, você poderá interagir com ele exatamente como faria com um pod kubernetes "normal".

Por exemplo, para ver o status e os eventos do pod (útil para localizar erros):

kubectl describe pods demo-pod

Para exibir logs para o pod:

kubectl logs demo-pod

Para obter um shell para o pod:

kubectl exec demo-pod -it -- /bin/bash

Próximas etapas

Neste tutorial, você criou um cluster do AKS no portal do Azure, implantou nós virtuais em Instâncias de Contêiner do Azure usando um gráfico do Helm e implantou um pod em seu nó virtual. Agora você tem familiaridade básica com como executar pods do Kubernetes em seu nó virtual e pode utilizar a maioria dos recursos e construções do Kubernetes nesses pods prontos para uso!

Se você estiver procurando utilizar recursos ou comportamentos de nós virtuais especializados para seus pods, consulte Personalizações de Pod.

Se você estiver procurando personalizar a instalação do nó virtual, consulte Personalizações de Nó.

Se você estiver planejando implantar cargas de trabalho de alta escala (milhares de pods por minuto) em nós virtuais, temos as melhores práticas e recomendações.