Início Rápido: implantar um cluster do Kubernetes usando um modelo do Azure Resource Manager
Aplica-se a: Azure Local, versão 23H2
Este início rápido mostra como implantar um cluster kubernetes no AKS Arc usando um modelo do ARM (Azure Resource Manager). O Azure Arc estende os recursos de gerenciamento do Azure para clusters do 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 do ARM, você precisa de acesso de gravação nos recursos que está implantando e acesso a todas as operações no tipo de recurso Microsoft.Resources/implantações.. Por exemplo, para implantar uma máquina virtual, você precisa das permissões Microsoft.Compute/virtualMachines/write e Microsoft.Resources/deployments/* . Para ver uma lista de funções e permissões, consulte Funções interna do Azure.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
- Um cluster Azure Local, versão 23H2.
- A versão mais recente da CLI do Azure.
Etapa 1: Preparar sua conta do Azure
Entre no Azure: abra o terminal ou o prompt de comando e entre na sua conta do Azure usando a CLI do Azure:
az login
Defina sua assinatura: substitua
<your-subscription-id>
pelo ID da assinatura: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, confira Criar e gerenciar chaves SSH para autenticação no Azure.
Etapa 3: revisar o modelo
Baixe os arquivos de modelo e parâmetro do repositório AKSArc para seu computador local. Examine todos os valores padrão e verifique se eles estão corretos.
Etapa 4: Implantar o modelo
Para implantar o cluster do 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"
São necessários alguns minutos para criar o cluster. 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 for concluída, use o seguinte comando para verificar se o cluster do Kubernetes está em execução:
az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table
Etapa 6: Conectar-se ao cluster
Para se conectar ao cluster, execute o
az connectedk8s proxy
comando. O comando baixa e executa um binário de 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 do Kubernetes, kubectl. Se você usar o Azure Cloud Shell, o kubectl já estará 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 as credenciais e configura a CLI do Kubernetes para usá-las:az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
Verifique a conexão com o cluster usando o comando
kubectl get
. 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 que o status do nó é 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 pool de nós usando um modelo do Azure Resource Manager (opcional)
Semelhante à etapa 3, baixe o modelo de pool de nós e os parâmetros do repositório AKSArc e examine os valores padrão.
Implantar o modelo e validar os resultados usando a CLI do Azure (opcional)
Examine e aplique o modelo. Esse processo leva alguns minutos para ser concluído. 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 de modelo
connectedClusters
Nome | Descrição | Valor |
---|---|---|
type |
O tipo de recurso. | Microsoft.Kubernetes/ConnectedClusters |
apiVersion |
A versão da API do recurso. | 2024-01-01 |
name |
O nome do recurso. | Cadeia de caracteres (obrigatório) Limite de caracteres: 1-63 Caracteres válidos: alfanuméricos, sublinhados e hífens. Comece e termine com caractere alfanumérico. |
location |
A localização geográfica em que o recurso reside. | 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. |
Instâncias provisionadas de cluster
Nome | Descrição | Valor |
---|---|---|
type |
O tipo de recurso | Microsoft.HybridContainerService/ProvisionedClusterInstances |
apiVersion |
A versão da API do recurso | 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 do local estendido. | CustomLocation |