Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste tutorial, utilizas Azure portal para implementar um cluster Azure Kubernetes Service (AKS). Depois de implementar o cluster AKS, utiliza-se um gráfico de Helm para implantar nós virtuais no Azure Container Instances.
Prerequisites
Este tutorial assume que tens as seguintes ferramentas instaladas:
- CLI do Azure
- kubectl (versão 1.30+)
- 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.
Selecione Rede>Rede virtual.
Na página Básicos , escolha uma subscrição e insira os seguintes valores:
- Grupo de recursos: Criar novo>
virtualnodesresourcegroup - Nome da rede virtual:
myvirtualnetwork - Região:
East US
Na página de endereços IP , configure os seguintes espaços de endereçamento e sub-redes:
- 10.0.0.0/16:
defaultsub-rede com tamanho /24 - 10.1.0.0/16:
akssub-rede com tamanho /16 - 10.2.0.0/16:
cgsub-rede com tamanho /16- A sub-rede
cgdeve ter uma delegação de sub-rede paraMicrosoft.ContainerInstance/containerGroups. - Se os seus pods em execução em nós virtuais precisarem de conectividade de saída, tem de configurar um gateway NAT e configurar a
cgsub-rede para a utilizar. Consulte Configurar um gateway NAT para um endereço IP estático para o tráfego de saída de um grupo de contentores para obter instruções sobre esta configuração.
- A sub-rede
Deixe todas as outras configurações como padrão e selecione Revisar + criar.
Quando a validação termina, é mostrado um resumo das definições da rede virtual. Selecione Criar para submeter o seu pedido de implementaçã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 está implantada.
Crie o seu cluster AKS
Na home page do portal do Azure, selecione Criar um recurso.
Selecione Containers>Azure Kubernetes Service (AKS).
Na página Básicos , escolha a mesma subscrição que usou para criar a rede virtual e introduza os seguintes valores:
- Grupo de recursos:
virtualnodesresourcegroup - Configuração de pré-definição do cluster:
Dev/Test - Nome do cluster Kubernetes:
virtualnodescluster - Região:
East US - Versão Kubernetes: Qualquer versão começando com
1.30.- por exemplo,1.30.9 - Atualização automática:
Enabled with patch
Na página Node pools, selecione qualquer SKU de VM com pelo menos 4 vCPUs e 16 GB de RAM para o conjunto de nós agentpool. Estes nós serão usados para alojar a infraestrutura de nós virtuais. Não selecione Enable virtual nodes – isto diz respeito à anterior oferta de nós virtuais para o AKS.
Na página de Redes , introduza os seguintes valores:
- Configuração da rede:
Azure CNI Node Subnet - Traga a sua própria rede virtual Azure:
Enabled - Rede virtual:
myvirtualnetwork - Sub-rede do cluster:
aks - Intervalo de endereços do serviço Kubernetes:
10.4.0.0/16 - Endereço IP do serviço DNS Kubernetes:
10.4.0.10 - Política de rede:
Calico
Deixe todas as outras configurações como padrão e selecione Revisar + criar.
Quando a validação termina, é mostrado um resumo das definições do cluster AKS. Selecione Criar para submeter o seu pedido de implantação do 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 foi implementado.
Atribuir permissões à identidade gerida do cluster AKS
Quando implementa um cluster AKS, o AKS cria um grupo de recursos de nós na mesma subscrição para alojar a infraestrutura do cluster. Por defeito, este grupo de recursos tem um nome como MC_<resource group>_<AKS cluster>_<region>. Neste 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 gerida com o nome virtualnodescluster_agentpool. Aceda a esta identidade gerida e selecione Atribuições de funções do Azure. Depois adiciona as seguintes duas atribuições de funções:
- Âmbito:
Resource group - Subscrição:
<your subscription name> - Grupo de recursos:
MC_virtualnodesresourcegroup_virtualnodescluster_eastus - Função:
Contributor
Esta atribuição de função permite a criação de grupos de contentores ACI no grupo de recursos do nó.
- Âmbito:
Resource group - Subscrição:
<your subscription name> - Grupo de recursos:
virtualnodesresourcegroup - Função:
Contributor
Esta atribuição de funções permite que grupos de contentores ACI sejam injetados na rede virtual que criou neste grupo de recursos.
Instale nós virtuais no Azure Container Instances usando o gráfico de Helm
Usa o CLI do Azure para puxar a configuração e as credenciais do cluster AKS que criaste. Isto irá configurar o kubectl para o seu cluster AKS.
az login
az account set --subscription <your subscription ID>
az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup
Além disso, registaremos o fornecedor de recursos ACI na sua subscrição para que possa implementar grupos de contentores.
az provider register -n Microsoft.ContainerInstance
Clone o repositório virtualnodesOnAzureContainerInstances GitHub. O gráfico de Helm para instalar nós virtuais em Azure Container Instances está localizado na pasta Helm/virtualnode.
Instale o Helm chart utilizando o seguinte comando:
helm install virtualnode <cloned repository location>\Helm\virtualnode
No espaço de um minuto, um novo nó virtual será registado no cluster do AKS e ficará no estado “Pronto”. Podes verificar o estado dos teus nós do cluster AKS com kubectl.
kubectl get nodes
Implante o seu primeiro pod num nó virtual
Pode interagir com nós virtuais tal como com quaisquer outros nós do Kubernetes. Por exemplo, o YAML de exemplo abaixo irá implantar um pod no nó virtual do seu cluster AKS – note o uso de seletores de nós e tolerâncias para posicionar o pod de forma adequada. Podes implementar o YAML usando o 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 de o teu pod ser lançado, podes interagir com ele exatamente como farias com um pod "normal" do Kubernetes.
Por exemplo, para ver o estado e os eventos do pod (útil para encontrar erros!):
kubectl describe pods demo-pod
Para ver os registos do pod:
kubectl logs demo-pod
Para obter uma carcaça para a cápsula:
kubectl exec demo-pod -it -- /bin/bash
Passos seguintes
Neste tutorial, criaste um cluster AKS no portal Azure, implementaste nós virtuais no Azure Container Instances usando um gráfico de Helm e implementaste um pod no teu nó virtual. Agora já tens uma familiaridade básica sobre como executar pods do Kubernetes no teu nó virtual e podes utilizar, de imediato, a maioria das capacidades e conceitos do Kubernetes nesses pods!
Se procura utilizar funcionalidades ou comportamentos específicos de nodos virtuais para os seus pods, consulte Personalizações de Pods.
Se pretende personalizar a instalação do seu nó virtual, consulte Personalizações do nó.
Se estiver a planear implementar cargas de trabalho de grande escala (milhares de pods por minuto) em nós virtuais, temos boas práticas e recomendações.