Partilhar via


Tutorial: Implantar nós virtuais em instâncias de contêiner do Azure em seu cluster do Serviço Kubernetes do Azure

Neste tutorial, você usa o portal do Azure para implantar um cluster do Serviço Kubernetes do Azure (AKS). Depois de implantar o cluster AKS, você usa um gráfico Helm para implantar nós virtuais em Instâncias de Contêiner do Azure.

Pré-requisitos

Este tutorial pressupõe que você tenha as seguintes ferramentas instaladas:

  • CLI do Azure
  • Kubectl (Versão 1.29+)
  • Helm
  • Git

Iniciar sessão no Azure

Inicie sessão no portal do Azure em https://portal.azure.com

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

Crie uma rede virtual para o seu cluster AKS

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

Captura de ecrã a mostrar como começar a criar uma nova rede virtual no portal do Azure.

Selecione Rede virtual de rede>.

Captura de ecrã a mostrar como selecionar uma nova rede virtual que pretende 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 ecrã a mostrar como configurar a página Noções básicas para a 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:

  • 10.0.0.0/16: default sub-rede com tamanho /24
  • 10.1.0.0/16: aks sub-rede com tamanho /16
  • 10.2.0.0/16: cg sub-rede com tamanho /16

Captura de ecrã a mostrar 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 como padrão e selecione Revisar + criar.

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

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

Crie seu cluster AKS

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

Captura de ecrã a mostrar como começar a criar uma nova rede virtual no portal do Azure.

Selecione Containers>Azure Kubernetes Service (AKS).

Captura de ecrã a mostrar como selecionar um novo cluster AKS que pretende 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 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 ecrã a mostrar como configurar a página Noções básicas para a criação de clusters 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 agentpool pool de nós. Esses nós serão usados para hospedar a infraestrutura de nós virtuais. Não selecionar Enable virtual nodes - refere-se à oferta anterior de nós virtuais para o AKS.

Captura de ecrã a mostrar como configurar a página Pools de nós para a criação de clusters AKS no portal do Azure.

Na página 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 de serviço do 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 ecrã a mostrar como configurar a página Rede para a criação de clusters AKS no portal do Azure.

Deixe todas as outras configurações como padrão e selecione Revisar + criar.

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

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

Atribuir permissões à identidade gerenciada do cluster AKS

Quando você implanta um cluster 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 Atribuições de função do Azure. Em seguida, adicione as duas atribuições de função a seguir:

  • Âmbito: Resource group
  • Subscrição: <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 ACI no grupo de recursos do nó.

  • Âmbito: Resource group
  • Subscrição: <your subscription name>
  • Grupo de recursos: virtualnodesresourcegroup
  • Função: Contributor

Essa atribuição de função permite que grupos de contêineres ACI sejam injetados na rede virtual criada nesse grupo de recursos.

Captura de ecrã a mostrar as atribuições de função adicionadas à identidade gerida pelo AKS.

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

Use a CLI do Azure para extrair a configuração e as credenciais para o cluster AKS que você criou. Isso configurará o kubectl para seu cluster 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 ACI em sua assinatura para que você possa implantar grupos de contêineres.

az provider register -n Microsoft.ContainerInstance

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

Instale o gráfico Helm usando o seguinte comando:

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

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

kubectl get nodes

Captura de tela mostrando a saída do comando kubectl get nodes, com um nó virtual em um estado Ready.

Implante seu primeiro pod em um nó virtual

Você pode interagir com nós virtuais como qualquer outro nó do Kubernetes. Por exemplo, o exemplo YAML abaixo implantará um pod no nó virtual em seu cluster AKS - observe o uso de seletores de nó e tolerações 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 seu 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 encontrar erros!):

kubectl describe pods demo-pod

Para visualizar os logs do pod:

kubectl logs demo-pod

Para obter uma concha para o pod:

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

Próximos passos

Neste tutorial, você criou um cluster AKS no portal do Azure, implantou nós virtuais em Instâncias de Contêiner do Azure usando um gráfico 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 você pode utilizar a maioria dos recursos e construções do Kubernetes nesses pods prontos para uso!

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

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

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