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.
Comece a usar o Kubernetes habilitado para Azure Arc usando a CLI do Azure ou o Azure PowerShell para conectar um cluster Kubernetes existente ao Azure Arc.
Para obter uma visão conceitual sobre como conectar clusters ao Azure Arc, consulte Visão geral do agente Kubernetes habilitado para Azure Arc. Para experimentar coisas em uma experiência de exemplo/prática, visite o Azure Arc Jumpstart.
Pré-requisitos
Importante
Além desses pré-requisitos, certifique-se de atender a todos os requisitos de rede para Kubernetes habilitado pelo Azure Arc.
Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Uma compreensão básica dos principais conceitos do Kubernetes.
Uma identidade (usuário ou entidade de serviço) que pode ser usada para fazer logon na CLI do Azure e conectar seu cluster ao Azure Arc.
A versão mais recente do Azure CLI.
A versão mais recente da extensão connectedk8s do Azure CLI, instalada ao executar o seguinte comando:
az extension add --name connectedk8s
Um cluster Kubernetes em execução. Se você não tiver um, poderá criar um cluster usando uma destas opções:
Criar um cluster Kubernetes usando o Docker para Mac ou Windows
Cluster Kubernetes autogerenciado usando API de cluster
Nota
O cluster precisa ter pelo menos um nó de sistema operacional e tipo
linux/amd64
de arquitetura e/oulinux/arm64
. Consulte Requisitos de cluster para obter mais informações sobre cenários ARM64.
Pelo menos 850 MB livres para os agentes Arc que serão implantados no cluster e capacidade para usar aproximadamente 7% de uma única CPU.
Um ficheiro kubeconfig e o contexto apontando para o seu cluster. Para obter mais informações, consulte Configurar o acesso a vários clusters.
Registrar provedores para o Azure Arc habilitado para Kubernetes
Introduza os seguintes comandos:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
Monitorize o processo de registo. O registo pode demorar até 10 minutos.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o table
Uma vez registrado, você verá o
RegistrationState
estado desses namespaces mudar paraRegistered
.
Criar um grupo de recursos
Execute o seguinte comando:
az group create --name AzureArcTest --location EastUS --output table
Saída:
Location Name
---------- ------------
eastus AzureArcTest
Conectar um cluster Kubernetes existente
Execute o seguinte comando para conectar o cluster. Este comando implanta os agentes do Azure Arc no cluster e instala o Helm v. 3.6.3 na .azure
pasta da máquina de implantação. Esta instalação do Helm 3 é usada apenas para o Azure Arc e não remove nem altera nenhuma versão instalada anteriormente do Helm na máquina.
Neste exemplo, o nome do cluster é AzureArcTest1.
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Saída:
Helm release deployment succeeded
{
"aadProfile": {
"clientAppId": "",
"serverAppId": "",
"tenantId": ""
},
"agentPublicKeyCertificate": "xxxxxxxxxxxxxxxxxxx",
"agentVersion": null,
"connectivityStatus": "Connecting",
"distribution": "gke",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1",
"identity": {
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"infrastructure": "gcp",
"kubernetesVersion": null,
"lastConnectivityTime": null,
"location": "eastus",
"managedIdentityCertificateExpirationTime": null,
"name": "AzureArcTest1",
"offering": null,
"provisioningState": "Succeeded",
"resourceGroup": "AzureArcTest",
"tags": {},
"totalCoreCount": null,
"totalNodeCount": null,
"type": "Microsoft.Kubernetes/connectedClusters"
}
Gorjeta
O comando acima sem o parâmetro location especificado cria o recurso Kubernetes habilitado para Azure Arc no mesmo local que o grupo de recursos. Para criar o recurso Kubernetes habilitado para Azure Arc em um local diferente, especifique um ou --location <region>
ou -l <region>
ao executar o comando az connectedk8s connect
.
Importante
Se a implantação falhar devido a um erro de tempo limite, consulte nosso guia de solução de problemas para obter detalhes sobre como resolver esse problema.
Conectar-se usando um servidor proxy de saída
Se o cluster estiver atrás de um servidor proxy de saída, as solicitações deverão ser roteadas por meio do servidor proxy de saída.
Na máquina de implantação, defina as variáveis de ambiente necessárias para que a CLI do Azure use o servidor proxy de saída:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>
No cluster Kubernetes, execute o comando "connect" com os parâmetros
proxy-https
eproxy-http
especificados. Se o servidor proxy estiver configurado com HTTP e HTTPS, certifique-se de usar--proxy-http
para o proxy HTTP e--proxy-https
para o proxy HTTPS. Se o servidor proxy usa apenas HTTP, você pode usar esse valor para ambos os parâmetros.az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --proxy-cert <path-to-cert-file>
Nota
- Alguns pedidos da rede, como os que envolvem comunicações entre serviços no cluster, têm de ser separados do tráfego que é encaminhado através do servidor proxy para a comunicação de saída. O
--proxy-skip-range
parâmetro pode ser usado para especificar o intervalo CIDR e os pontos de extremidade de forma separada por vírgulas para que qualquer comunicação dos agentes para esses pontos de extremidade não passe pelo proxy de saída. No mínimo, o intervalo CIDR dos serviços no cluster deve ser especificado como valor deste parâmetro. Por exemplo, digamos quekubectl get svc -A
retorna uma lista de serviços em que todos os serviços têm valores ClusterIP no intervalo10.0.0.0/16
. Em seguida, o valor a especificar é--proxy-skip-range
10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc
. -
--proxy-http
,--proxy-https
e--proxy-skip-range
são esperados para a maioria dos ambientes de proxy de saída.--proxy-cert
é só necessário se precisar de injetar certificados confiáveis esperados por proxy no armazenamento de certificados confiáveis dos pods de agente. - O proxy de saída tem de ser configurado para permitir ligações websocket.
Para servidores proxy de saída, se estiveres apenas a fornecer um certificado de confiança, podes executar az connectedk8s connect
apenas com o parâmetro --proxy-cert
especificado:
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>
Se houver vários certificados confiáveis, a cadeia de certificados (Leaf cert, Intermediate cert, Root cert) precisa ser combinada em um único arquivo que é passado no --proxy-cert
parâmetro.
Nota
-
--custom-ca-cert
é um alias para--proxy-cert
. Qualquer um dos parâmetros pode ser usado de forma intercambiável. Passar ambos os parâmetros no mesmo comando respeitará o parâmetro passado por último.
Verificar a conexão do cluster
Execute o seguinte comando:
az connectedk8s list --resource-group AzureArcTest --output table
Saída:
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Para obter ajuda na solução de problemas de conexão, consulte Diagnosticar problemas de conexão para clusters Kubernetes habilitados para Azure Arc.
Nota
Após a integração do cluster, leva até dez minutos para que os metadados do cluster (como a versão do cluster e o número de nós) apareçam na página de visão geral do recurso Kubernetes habilitado para Arco do Azure no portal do Azure.
Exibir agentes do Azure Arc para Kubernetes
O Kubernetes habilitado para Azure Arc implanta vários agentes no azure-arc
namespace.
Veja estas implantações e pods usando:
kubectl get deployments,pods -n azure-arc
Verifique se todos os pods estão num
Running
estado.Saída:
NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 13d deployment.apps/clusterconnect-agent 1/1 1 1 13d deployment.apps/clusteridentityoperator 1/1 1 1 13d deployment.apps/config-agent 1/1 1 1 13d deployment.apps/controller-manager 1/1 1 1 13d deployment.apps/extension-manager 1/1 1 1 13d deployment.apps/flux-logs-agent 1/1 1 1 13d deployment.apps/kube-aad-proxy 1/1 1 1 13d deployment.apps/metrics-agent 1/1 1 1 13d deployment.apps/resource-sync-agent 1/1 1 1 13d NAME READY STATUS RESTARTS AGE pod/cluster-metadata-operator-9568b899c-2stjn 2/2 Running 0 13d pod/clusterconnect-agent-576758886d-vggmv 3/3 Running 0 13d pod/clusteridentityoperator-6f59466c87-mm96j 2/2 Running 0 13d pod/config-agent-7cbd6cb89f-9fdnt 2/2 Running 0 13d pod/controller-manager-df6d56db5-kxmfj 2/2 Running 0 13d pod/extension-manager-58c94c5b89-c6q72 2/2 Running 0 13d pod/flux-logs-agent-6db9687fcb-rmxww 1/1 Running 0 13d pod/kube-aad-proxy-67b87b9f55-bthqv 2/2 Running 0 13d pod/metrics-agent-575c565fd9-k5j2t 2/2 Running 0 13d pod/resource-sync-agent-6bbd8bcd86-x5bk5 2/2 Running 0 13d
Para obter mais informações sobre esses agentes, consulte Visão geral do agente Kubernetes habilitado para Azure Arc.
Limpar recursos
Você pode excluir o recurso Kubernetes habilitado para Azure Arc, quaisquer recursos de configuração associados e quaisquer agentes em execução no cluster usando o seguinte comando:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Se o processo de exclusão falhar, use o seguinte comando para forçar a exclusão (adicionando -y
se quiser ignorar o prompt de confirmação):
az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force
Esse comando também pode ser usado se você tiver problemas ao criar uma nova implantação de cluster (devido aos recursos criados anteriormente não terem sido completamente removidos).
Nota
A exclusão do recurso Kubernetes habilitado para ArcGIS do Azure usando o portal do Azure remove todos os recursos de configuração associados, mas não remove nenhum agente em execução no cluster. Por isso, recomendamos excluir o recurso Kubernetes habilitado para Azure Arc usando az connectedk8s delete
em vez de excluir o recurso no portal do Azure.
Próximos passos
- Saiba como implantar configurações usando GitOps com o Flux v2.
- Solucione problemas comuns do Kubernetes habilitado para Azure Arc.
- Experimente cenários automatizados do Kubernetes habilitados para Azure Arc com o Azure Arc Jumpstart.
- Ajude a proteger o seu cluster seguindo as orientações no manual de segurança do Kubernetes com Azure Arc habilitado.