Créer et gérer des emplacements personnalisés sur Kubernetes avec Azure Arc
La fonctionnalité d’emplacements personnalisés permet de configurer vos clusters Kubernetes avec Azure Arc en tant qu’emplacements cibles pour le déploiement d’instances d’offres Azure. Parmi les exemples d’offres Azure qui peuvent être déployées sur des emplacements personnalisés, citons des bases de données, telles que SQL Managed Instance avec Azure Arc et le serveur PostgreSQL avec Azure Arc, ou des instances d’applications comme App Services, Functions, Event Grid, Logic Apps et Gestion des API.
Un emplacement personnalisé dispose d’un mappage un-à-un à un espace de noms au sein du cluster Kubernetes avec Azure Arc. La ressource Azure d’emplacement personnalisé, combinée avec le contrôle d’accès en fonction du rôle (RBAC) Azure, permet d’accorder aux développeurs d’applications ou aux administrateurs de base de données des autorisations précises pour déployer des ressources, telles que des bases de données ou des instances d’application, sur des clusters Kubernetes avec Arc dans un environnement multilocataire.
Dans cet article, vous allez apprendre à activer les emplacements personnalisés sur un cluster Kubernetes avec Arc et à créer un emplacement personnalisé.
Prérequis
Installez ou mettez à niveau Azure CLI vers la dernière version.
Installez les versions les plus récentes des extensions Azure CLI suivantes :
connectedk8s
k8s-extension
customlocation
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocation
Si vous avez déjà installé les extensions
connectedk8s
,k8s-extension
etcustomlocation
, mettez-les à jour vers la version la plus récente à l’aide de la commande suivante :az extension update --name connectedk8s az extension update --name k8s-extension az extension update --name customlocation
Vérifiez que l’inscription du fournisseur est terminée pour
Microsoft.ExtendedLocation
.Entrez les commandes suivantes :
az provider register --namespace Microsoft.ExtendedLocation
Supervisez le processus d’inscription. L’inscription peut prendre jusqu’à 10 minutes.
az provider show -n Microsoft.ExtendedLocation -o table
Une fois l’inscription terminée, l’état
RegistrationState
aura la valeur deRegistered
.
Vérifiez que vous disposez d’un cluster connecté Kubernetes avec Azure Arc et mettez à niveau vos agents vers la dernière version. Vérifiez que la machine sur laquelle vous allez exécuter les commandes décrites dans cet article comporte un fichier
kubeconfig
pointant vers ce cluster.
Activer les emplacements personnalisés sur votre cluster
Conseil
La fonctionnalité d’emplacements personnalisés dépend de la fonctionnalité de connexion au cluster. Les deux fonctionnalités doivent être activées dans le cluster pour que les emplacements personnalisés fonctionnent. Pour activer la fonctionnalité d’emplacements personnalisés, procédez comme suit :
Si vous êtes connecté à Azure CLI en tant qu’utilisateur Microsoft Entra, utilisez la commande suivante :
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
Si vous exécutez la commande ci-dessus lorsque vous êtes identifié sur Azure CLI en tant que principal de service, il se peut que vous receviez l’avertissement suivant :
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Cet avertissement se produit parce que le principal de service ne dispose pas des autorisations nécessaires pour récupérer l’ (ID de l’objet) oid
de l’emplacement personnalisé utilisé par le service Azure Arc. Pour éviter cette erreur, procédez comme suit :
Connectez-vous à Azure CLI avec votre compte d’utilisateur.
Exécutez la commande suivante pour récupérer
oid
(ID de l’objet) de l’emplacement personnalisé, où--id
est prédéfini et défini surbc313c14-388c-4e7d-a58e-70017303ee3b
:Important ! Copiez et exécutez la commande exactement comme indiqué ci-dessous. Ne remplacez pas la valeur passée au paramètre
--id
par une autre valeur.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Connectez-vous à Azure CLI à l’aide du principal de service. Exécutez la commande suivante pour activer la fonctionnalité d’emplacements personnalisés sur le cluster, à l’aide de la valeur
oid
(ID de l’objet) de l’étape précédente pour le paramètre--custom-locations-oid
:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
Créer un emplacement personnalisé
Déployez l’extension de cluster de service Azure de l’instance de service Azure que vous voulez installer sur votre cluster :
Services de données avec Azure Arc
Remarque
Un proxy sortant sans authentification et un proxy sortant avec authentification de base sont pris en charge par l’extension de cluster de services de données avec Azure Arc. Les proxys sortants qui attendent des certificats approuvés ne sont pas pris en charge actuellement.
Obtenez l’identificateur Azure Resource Manager du cluster Kubernetes avec Azure Arc, référencé dans les prochaines étapes avec
connectedClusterId
:az connectedk8s show -n <clusterName> -g <resourceGroupName> --query id -o tsv
Obtenez l’identificateur Azure Resource Manager de l’extension de cluster que vous avez déployée sur le cluster Kubernetes avec Azure Arc, référencé dans les étapes ultérieures en tant que
extensionId
:az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName> --query id -o tsv
Créez l’emplacement personnalisé en référençant le cluster Kubernetes avec Azure Arc et l’extension :
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
Paramètres obligatoires :
Nom du paramètre Description --name, --n
Nom de l’emplacement personnalisé. --resource-group, --g
Groupe de ressources de l’emplacement personnalisé. --namespace
Espace de noms dans le cluster lié à l’emplacement personnalisé en cours de création. --host-resource-id
Identificateur Azure Resource Manager du cluster Kubernetes avec Azure Arc (cluster connecté). --cluster-extension-ids
Identificateurs Azure Resource Manager d’une instance d’extension de cluster installée sur le cluster connecté. En présence de plusieurs extensions, fournissez une liste d’ID d’extension de cluster séparés par des espaces. Paramètres facultatifs :
Nom du paramètre Description --location, --l
Emplacement personnalisé de la ressource Azure Resource Manager dans Azure. S’il n’est pas spécifié, l’emplacement du cluster connecté est utilisé. --tags
Liste d’étiquettes séparées par des espaces au format key[=value]
. Utilisez '' pour effacer des balises existantes.--kubeconfig
Administrateur kubeconfig
du cluster.
Afficher les détails d’un emplacement personnalisé
Pour afficher les détails d’un emplacement personnalisé, utilisez la commande suivante :
az customlocation show -n <customLocationName> -g <resourceGroupName>
Lister les emplacements personnalisés
Pour répertorier tous les emplacements personnalisés dans un groupe de ressources, utilisez la commande suivante :
az customlocation list -g <resourceGroupName>
Mettre à jour un emplacement personnalisé
Utilisez la commande update
pour ajouter de nouvelles valeurs pour --tags
ou associer de nouveaux --cluster-extension-ids
à l’emplacement personnalisé tout en conservant les valeurs existantes pour les étiquettes et les extensions de cluster associées.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Patcher un emplacement personnalisé
Utilisez la commande patch
pour remplacer les valeurs existantes pour --cluster-extension-ids
ou --tags
. Les valeurs précédentes ne sont pas conservées.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Supprimer un emplacement personnalisé
Pour supprimer un emplacement personnalisé, utilisez la commande suivante :
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Dépannage
Si la création d’emplacement personnalisé échoue avec l’erreur Unknown proxy error occurred
, modifiez votre stratégie réseau pour autoriser la communication interne de pod à pod au sein de l’espace de noms azure-arc
. Veillez également à ajouter l’espace de noms azure-arc
à la liste d’exclusion no-proxy de votre stratégie configurée.
Étapes suivantes
- Connectez-vous en toute sécurité au cluster à l’aide de Connexion au cluster.
- Poursuivez avec Azure App Service sur Azure Arc pour obtenir des instructions de bout en bout sur l’installation des extensions, la création d’emplacements personnalisés et la création de l’environnement Kubernetes App Service.
- Créez une rubrique Event Grid et un abonnement aux événements pour Event Grid sur Kubernetes.
- En savoir plus sur les extensions Kubernetes avec Azure Arc actuellement disponibles.