Démarrage rapide : Connecter un cluster Kubernetes existant à Azure ArcQuickstart: Connect an existing Kubernetes cluster to Azure Arc
Dans ce guide de démarrage rapide, nous allons tirer parti des avantages de Kubernetes avec Azure Arc pour connecter un cluster Kubernetes existant à Azure Arc. Pour un aperçu conceptuel de la connexion de clusters à Azure Arc, consultez l’article sur l’architecture des agents Kubernetes avec Azure Arc.In this quickstart, we'll reap the benefits of Azure Arc enabled Kubernetes and connect an existing Kubernetes cluster to Azure Arc. For a conceptual take on connecting clusters to Azure Arc, see the Azure Arc enabled Kubernetes Agent Architecture article.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.
PrérequisPrerequisites
Utilisez l’environnement Bash dans Azure Cloud Shell.Use the Bash environment in Azure Cloud Shell.
Si vous préférez, installez l’interface Azure CLI pour exécuter les commandes de référence de l’interface de ligne de commande.If you prefer, install the Azure CLI to run CLI reference commands.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login.If you're using a local installation, sign in to the Azure CLI by using the az login command. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal.To finish the authentication process, follow the steps displayed in your terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.For additional sign-in options, see Sign in with the Azure CLI.
Lorsque vous y êtes invité, installez les extensions Azure CLI lors de la première utilisation.When you're prompted, install Azure CLI extensions on first use. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.For more information about extensions, see Use extensions with the Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées.Run az version to find the version and dependent libraries that are installed. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.To upgrade to the latest version, run az upgrade.
Vérifiez que vous disposez des éléments suivants :Verify you have:
- Un cluster Kubernetes fonctionnel.An up-and-running Kubernetes cluster.
- Fichier
kubeconfig
.Akubeconfig
file. - Autorisations d’accès en lecture/écriture pour l’utilisateur ou le principal de service qui se connecte afin de créer le type de ressource Kubernetes avec Azure Arc (
Microsoft.Kubernetes/connectedClusters
).'Read' and 'Write' permissions for the user or service principal connecting creating the Azure Arc enabled Kubernetes resource type (Microsoft.Kubernetes/connectedClusters
).
Installez la dernière version de Helm 3.Install the latest release of Helm 3.
Installez les extensions CLI de Kubernetes avec Azure Arc versions 1.0.0 et ultérieures :Install the following Azure Arc enabled Kubernetes CLI extensions of versions >= 1.0.0:
az extension add --name connectedk8s az extension add --name k8s-configuration
- Pour mettre à jour ces extensions vers la dernière version, exécutez les commandes suivantes :To update these extensions to the latest version, run the following commands:
az extension update --name connectedk8s az extension update --name k8s-configuration
Notes
Régions prises en charge :Supported regions:
- USA EstEast US
- Europe OuestWest Europe
- Centre-USA OuestWest Central US
- États-Unis - partie centrale méridionaleSouth Central US
- Asie Sud-EstSoutheast Asia
- Sud du Royaume-UniUK South
- USA Ouest 2West US 2
- Australie EstAustralia East
- USA Est 2East US 2
- Europe NordNorth Europe
Répondre à la configuration réseau nécessaireMeet network requirements
Important
Les agents Azure Arc requièrent les protocoles/ports/URL sortantes suivants pour fonctionner :Azure Arc agents require the following protocols/ports/outbound URLs to function:
- TCP sur le port 443 :
https://:443
TCP on port 443:https://:443
- TCP sur le port 9418 :
git://:9418
TCP on port 9418:git://:9418
Point de terminaison (DNS)Endpoint (DNS) | DescriptionDescription |
---|---|
https://management.azure.com |
Requis pour que l’agent se connecte à Azure et inscrive le cluster.Required for the agent to connect to Azure and register the cluster. |
https://eastus.dp.kubernetesconfiguration.azure.com , https://westeurope.dp.kubernetesconfiguration.azure.com , https://westcentralus.dp.kubernetesconfiguration.azure.com , https://southcentralus.dp.kubernetesconfiguration.azure.com , https://southeastasia.dp.kubernetesconfiguration.azure.com , https://uksouth.dp.kubernetesconfiguration.azure.com , https://westus2.dp.kubernetesconfiguration.azure.com , https://australiaeast.dp.kubernetesconfiguration.azure.com , https://eastus2.dp.kubernetesconfiguration.azure.com , https://northeurope.dp.kubernetesconfiguration.azure.com https://eastus.dp.kubernetesconfiguration.azure.com , https://westeurope.dp.kubernetesconfiguration.azure.com , https://westcentralus.dp.kubernetesconfiguration.azure.com , https://southcentralus.dp.kubernetesconfiguration.azure.com , https://southeastasia.dp.kubernetesconfiguration.azure.com , https://uksouth.dp.kubernetesconfiguration.azure.com , https://westus2.dp.kubernetesconfiguration.azure.com , https://australiaeast.dp.kubernetesconfiguration.azure.com , https://eastus2.dp.kubernetesconfiguration.azure.com , https://northeurope.dp.kubernetesconfiguration.azure.com |
Point de terminaison du plan de données permettant à l’agent d’envoyer (push) le statut et de récupérer (fetch) les informations de configuration.Data plane endpoint for the agent to push status and fetch configuration information. |
https://login.microsoftonline.com |
Requis pour extraire et mettre à jour des jetons Azure Resource Manager.Required to fetch and update Azure Resource Manager tokens. |
https://mcr.microsoft.com |
Requis pour extraire des images conteneurs pour les agents Azure Arc.Required to pull container images for Azure Arc agents. |
https://eus.his.arc.azure.com , https://weu.his.arc.azure.com , https://wcus.his.arc.azure.com , https://scus.his.arc.azure.com , https://sea.his.arc.azure.com , https://uks.his.arc.azure.com , https://wus2.his.arc.azure.com , https://ae.his.arc.azure.com , https://eus2.his.arc.azure.com , https://ne.his.arc.azure.com https://eus.his.arc.azure.com , https://weu.his.arc.azure.com , https://wcus.his.arc.azure.com , https://scus.his.arc.azure.com , https://sea.his.arc.azure.com , https://uks.his.arc.azure.com , https://wus2.his.arc.azure.com , https://ae.his.arc.azure.com , https://eus2.his.arc.azure.com , https://ne.his.arc.azure.com |
Indispensable à l’extraction des certificats attribués par le système dans le cadre des identités managées pour les ressources Azure.Required to pull system-assigned Managed Service Identity (MSI) certificates. |
Installer les extensions CLI Kubernetes avec Azure ArcInstall the Azure Arc enabled Kubernetes CLI extensions
Entrez les commandes suivantes :Enter the following commands:
```azurecli
az extension add --name connectedk8s
az extension add --name k8s-configuration
```
Inscription des deux fournisseurs pour Kubernetes avec Azure ArcRegister the two providers for Azure Arc enabled Kubernetes
- Entrez les commandes suivantes :Enter the following commands:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration
- Supervisez le processus d’inscription.Monitor the registration process. L’inscription peut prendre jusqu’à 10 minutes.Registration may take up to 10 minutes.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table
Créer un groupe de ressourcesCreate a resource group
Créez un groupe de ressources :Create a resource group:
az group create --name AzureArcTest -l EastUS -o table
Location Name
---------- ------------
eastus AzureArcTest
Connecter un cluster Kubernetes existantConnect an existing Kubernetes cluster
Connectez votre cluster Kubernetes à Azure Arc à l’aide de la commande suivante :Connect your Kubernetes cluster to Azure Arc using the following command:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
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" }
Vérifier la connexion du clusterVerify cluster connection
Visualisez la liste de vos clusters connectés avec la commande suivante :View a list of your connected clusters with the following command:
az connectedk8s list -g AzureArcTest -o table
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Notes
Après l’intégration du cluster, il faut environ 5 à 10 minutes pour que les métadonnées du cluster (version du cluster, version de l’agent, nombre de nœuds, etc.) soient visibles sur la page Vue d’ensemble de la ressource Kubernetes avec Azure Arc sur le Portail Azure.After onboarding the cluster, it takes around 5 to 10 minutes for the cluster metadata (cluster version, agent version, number of nodes, etc.) to surface on the overview page of the Azure Arc enabled Kubernetes resource in Azure portal.
Se connecter à l’aide d’un serveur proxy sortantConnect using an outbound proxy server
Si votre cluster se trouve derrière un serveur proxy sortant, Azure CLI et les agents Kubernetes avec Azure Arc doivent router leurs requêtes via ce serveur proxy sortant.If your cluster is behind an outbound proxy server, Azure CLI and the Azure Arc enabled Kubernetes agents need to route their requests via the outbound proxy server.
Définissez les variables d’environnement nécessaires pour Azure CLI afin d’utiliser le serveur proxy sortant :Set the environment variables needed for Azure CLI to use the outbound proxy server:
Si vous utilisez bash, exécutez la commande suivante avec les valeurs appropriées :If you are using bash, run the following command with appropriate values:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>
Si vous utilisez PowerShell, exécutez la commande suivante avec les valeurs appropriées :If you are using PowerShell, run the following command with appropriate values:
$Env:HTTP_PROXY = "<proxy-server-ip-address>:<port>" $Env:HTTPS_PROXY = "<proxy-server-ip-address>:<port>" $Env:NO_PROXY = "<cluster-apiserver-ip-address>:<port>"
Exécutez la commande connect avec les paramètres de proxy spécifiés :Run the connect command with proxy parameters specified:
az connectedk8s connect -n <cluster-name> -g <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>
Notes
- Spécifiez
excludedCIDR
sous--proxy-skip-range
pour vérifier si la communication des agents au sein du cluster n’est pas interrompue.SpecifyexcludedCIDR
under--proxy-skip-range
to ensure in-cluster communication is not broken for the agents. --proxy-http
,--proxy-https
et--proxy-skip-range
sont attendus pour la plupart des environnements de serveurs proxy sortants.--proxy-http
,--proxy-https
, and--proxy-skip-range
are expected for most outbound proxy environments.--proxy-cert
est nécessaire uniquement si vous devez injecter les certificats approuvés attendus par le serveur proxy dans le magasin de certificats approuvés des pods d’agents.--proxy-cert
is only required if you need to inject trusted certificates expected by proxy into the trusted certificate store of agent pods.
Voir les agents Azure Arc pour KubernetesView Azure Arc agents for Kubernetes
Un Kubernetes à extension Azure Arc déploie quelques opérateurs dans l’espace de noms azure-arc
.Azure Arc enabled Kubernetes deploys a few operators into the azure-arc
namespace.
Visualisez ces déploiements et ces pods à l’aide de :View these deployments and pods using:
kubectl -n azure-arc get deployments,pods
Vérifiez que tous les pods sont à l’état
Running
.Verify all pods are in aRunning
state.NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 16h deployment.apps/clusteridentityoperator 1/1 1 1 16h deployment.apps/config-agent 1/1 1 1 16h deployment.apps/controller-manager 1/1 1 1 16h deployment.apps/flux-logs-agent 1/1 1 1 16h deployment.apps/metrics-agent 1/1 1 1 16h deployment.apps/resource-sync-agent 1/1 1 1 16h NAME READY STATUS RESTART AGE pod/cluster-metadata-operator-7fb54d9986-g785b 2/2 Running 0 16h pod/clusteridentityoperator-6d6678ffd4-tx8hr 3/3 Running 0 16h pod/config-agent-544c4669f9-4th92 3/3 Running 0 16h pod/controller-manager-fddf5c766-ftd96 3/3 Running 0 16h pod/flux-logs-agent-7c489f57f4-mwqqv 2/2 Running 0 16h pod/metrics-agent-58b765c8db-n5l7k 2/2 Running 0 16h pod/resource-sync-agent-5cf85976c7-522p5 3/3 Running 0 16h
Nettoyer les ressourcesClean up resources
Vous pouvez supprimer la ressource Kubernetes avec Azure Arc, toutes les ressources de configuration associées et tous les agents s’exécutant sur le cluster à l’aide d’Azure CLI et de la commande suivante :You can delete the Azure Arc enabled Kubernetes resource, any associated configuration resources, and any agents running on the cluster using Azure CLI using the following command:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Notes
La suppression de la ressource Kubernetes avec Azure Arc à l’aide du portail Azure entraîne la suppression de toutes les ressources de configuration associées mais pas des agents s’exécutant sur le cluster.Deleting the Azure Arc enabled Kubernetes resource using Azure portal removes any associated configuration resources, but does not remove any agents running on the cluster. Il est recommandé de suivre la bonne pratique qui consiste à supprimer la ressource Kubernetes avec Azure Arc via az connectedk8s delete
au d’utiliser le portail Azure.Best practice is to delete the Azure Arc enabled Kubernetes resource using az connectedk8s delete
instead of Azure portal.
Étapes suivantesNext steps
Passez à l’article suivant pour savoir comment déployer des configurations sur votre cluster Kubernetes connecté à l’aide de GitOps.Advance to the next article to learn how to deploy configurations to your connected Kubernetes cluster using GitOps.