Partilhar via


Guia de início rápido: implantar um cluster Kubernetes usando um modelo do Azure Resource Manager

Aplica-se a: Azure Local, versão 23H2

Este guia de início rápido mostra como implantar um cluster Kubernetes no AKS Arc usando um modelo do Azure Resource Manager (ARM). O Azure Arc estende os recursos de gerenciamento do Azure para clusters Kubernetes em qualquer lugar, fornecendo uma abordagem unificada para gerenciar diferentes ambientes.

Antes de começar

Este artigo pressupõe uma compreensão básica dos conceitos do Kubernetes.

Para implantar um modelo ARM, necessita de permissões de escrita nos recursos que está a implantar e acesso a todas as operações do tipo de recurso Microsoft.Resources/deployments. Por exemplo, para implantar uma máquina virtual, você precisa das permissões Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/* . Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa.
  • Um cluster Azure Local, versão 23H2.
  • A versão mais recente da CLI do Azure.

Etapa 1: Preparar sua conta do Azure

  1. Entre no Azure: abra seu terminal ou prompt de comando e entre em sua conta do Azure usando a CLI do Azure:

    az login
    
  2. Defina a sua subscrição: substitua <your-subscription-id> pelo seu ID de subscrição:

    az account set --subscription "<your-subscription-id>"
    

Etapa 2: Criar um par de chaves SSH usando a CLI do Azure

az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"

ou, crie um par de chaves SSH usando ssh-keygen:

ssh-keygen -t rsa -b 4096

Para implantar o modelo, você deve fornecer a chave pública do par SSH. Para recuperar a chave pública, use o az sshkey show comando:

az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"

Por padrão, os arquivos de chave SSH são criados no diretório ~/.ssh . Execute o az sshkey create comando or ssh-keygen para substituir qualquer par de chaves SSH existente com o mesmo nome.

Para obter mais informações sobre como criar chaves SSH, consulte Criar e gerenciar chaves SSH para autenticação no Azure.

Etapa 3: revisar o modelo

Faça o download dos arquivos de modelo e parâmetro do de repositório AKSArc para sua máquina local. Revise todos os valores padrão e verifique se eles estão corretos.

Etapa 4: Implantar o modelo

Para implantar o cluster Kubernetes, execute o seguinte comando:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"

A criação do cluster demora alguns minutos. Aguarde até que o cluster seja implantado com êxito antes de passar para a próxima etapa.

Etapa 5: Verificar a implantação

Quando a implantação estiver concluída, use o seguinte comando para verificar se o cluster do Kubernetes está ativo e em execução:

az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table

Etapa 6: Conectar-se ao cluster

  1. Para se conectar ao cluster, execute o az connectedk8s proxy comando. O comando baixa e executa um binário proxy na máquina cliente e busca um arquivo kubeconfig associado ao cluster:

    az connectedk8s proxy --name <cluster name> -g <resource group>
    

    Ou, use o cliente de linha de comando Kubernetes, kubectl. Se você usa o Azure Cloud Shell, o kubectl já está instalado. Para instalar e executar kubectl localmente, execute o az aksarc install-cli comando.

    Configure o kubectl para se conectar ao cluster do Kubernetes usando o az aksarc get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las:

    az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
    
  2. Verifique a conexão com o cluster usando o kubectl get comando. Este comando retorna uma lista dos nós do cluster:

    kubectl get nodes -A --kubeconfig .\<path to kubecofig> 
    

    A saída de exemplo a seguir mostra os três nós criados nas etapas anteriores. Verifique se o status do nó está Pronto:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-27442051-vmss000000   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000001   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000002   Ready    agent   11m   v1.27.7
    

Etapa 7: Implantar o pool de nós usando um modelo do Azure Resource Manager (opcional)

Similiar para a etapa 3, baixe o modelo de pool de nós e os parâmetros do de repositório AKSArc e revise os valores padrão.

Etapa 8: Implantar o modelo e validar a implantação (opcional)

Revise e aplique o modelo. Este processo demora alguns minutos a concluir. Você pode usar a CLI do Azure para validar se o pool de nós foi criado com êxito:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"

Recursos do modelo

connectedClusters

Nome Descrição valor
type O tipo do recurso. Microsoft.Kubernetes/ConnectedClusters
apiVersion A versão da API do recurso. 2024-01-01
name O nome do recurso. String (obrigatório)
Limite de caracteres: 1-63
Caracteres válidos: alfanuméricos, sublinhados e hífenes.
Comece e termine com alfanuméricos.
location A geolocalização em que o recurso vive. String (obrigatório).
tags Tags de recursos. Dicionário de nomes e valores de tags. Consulte Tags em modelos.
extendedLocation O local estendido da máquina virtual. Localização Estendida
identity A identidade do cluster conectado, se configurado.
properties Propriedades de um cluster conectado.

ProvisionedClusterInstances

Nome Descrição valor
type O tipo de recurso Microsoft.HybridContainerService/ProvisionedClusterinstances
apiVersion A versão da API de recursos 2024-01-01
name O nome do recurso String (obrigatório). Não altere isso do padrão.
properties Propriedades de um cluster conectado.
extendedLocation O local estendido do cluster. Localização Estendida

Localização Estendida

Nome Descrição valor
name A ID do local estendido. string
type O tipo de local estendido. CustomLocation

Próximos passos

Visão geral do AKS Arc