Extensions de cluster

Les graphiques Helm vous aident à gérer les applications Kubernetes en fournissant les blocs de construction nécessaires pour définir, installer et mettre à niveau les applications Kubernetes les plus complexes. La fonctionnalité d’extension de cluster s’appuie sur les composants de création de packages de Helm en offrant une expérience pilotée par Azure Resource Manager pour l’installation et la gestion du cycle de vie de différentes capacités Azure sur votre cluster Kubernetes.

Un opérateur ou un administrateur de cluster peut utiliser la fonction d'extensions de cluster pour :

  • Installez et gérez les offres de gestion des clés, de données et d’application sur votre cluster Kubernetes.
  • Utiliser Azure Policy pour automatiser le déploiement à grande échelle des extensions de cluster sur tous les clusters de votre environnement.
  • Abonnez-vous aux trains de version (par exemple, aperçu ou stable) pour chaque extension.
  • Configurez la mise à niveau automatique des extensions ou du code PIN vers une version spécifique et mettez à niveau manuellement les versions.
  • Met à jour les propriétés d’extension ou supprime les instances d’extension.

Pour obtenir la liste de toutes les extensions actuellement prises en charge, voir Extensions disponibles pour les clusters Kubernetes avec Azure Arc.

Architecture

Cluster extensions architecture

L’instance d’extension de cluster est créée comme une ressource Azure Resource Manager d’extension (Microsoft.KubernetesConfiguration/extensions) en plus de la ressource Kubernetes avec Azure Arc (représentée par Microsoft.Kubernetes/connectedClusters) dans Azure Resource Manager. Une représentation dans Azure Resource Manager vous permet de créer une stratégie qui vérifie toutes les ressources Kubernetes avec Azure Arc, avec ou sans extension de cluster spécifique. Une fois que vous avez déterminé les clusters qui n’ont pas les extensions de cluster avec les valeurs de propriété souhaitées, vous pouvez corriger ces ressources non conformes avec Azure Policy.

L'config-agentexécution dans votre cluster suit les ressources d'extension nouvelles et mises à jour sur la ressource Kubernetes compatible avec Azure Arc. L'extensions-manager agent en cours d’exécution dans votre cluster lit le type d’extension qui doit être installé et extrait le graphique Helm associé de Azure Container Registry ou Microsoft Container Registry et l’installe sur le cluster.

Les composants config-agent et extensions-manager s’exécutant dans le cluster gèrent les mises à jour de version et la suppression d’instance d’extension. Ces agents utilisent l’identité gérée affectée par le système du cluster pour communiquer en toute sécurité avec les services Azure.

Remarque

config-agent recherche les instances d’extension nouvelles ou mises à jour sur le cluster Kubernetes compatible avec Azure arc. Les agents ont donc besoin d’une connectivité pour tirer l’état souhaité de l’extension vers le cluster. Si les agents ne parviennent pas à se connecter à Azure, il se produit un retard dans la propagation de l’état souhaité vers le cluster.

Les paramètres de configuration protégés pour une extension sont stockés pendant 48 heures maximum dans les services Kubernetes avec Azure Arc. Par conséquent, si le cluster reste déconnecté pendant les 48 heures après la création de la ressource d’extension sur Azure, l’extension passe d’un état Pending à un état Failed. Pour éviter cela, nous vous recommandons de mettre régulièrement les clusters en ligne.

Important

Actuellement, les extensions de cluster Kubernetes avec Azure Arc ne sont pas prises en charge avec des clusters basés sur ARM64, à l’exception de Flux (GitOps). Pour installer et utiliser d’autres extensions de cluster, le cluster doit avoir au moins un nœud de système d’exploitation et un type d’architecture linux/amd64.

Étendue de l’extension

Chaque type d’extension définit l’étendue sur laquelle il fonctionne sur le cluster. Les installations d’extension sur les clusters Kubernetes avec Arc sont étendues au cluster ou étendues à l’espace de noms.

Une extension étendue au cluster est installée dans le release-namespace spécifié au moment de créer l’extension. En règle générale, une seule instance de l’extension étendue au cluster et de ses composants, comme les pods, les opérateurs et les définitions de ressources personnalisées (CRD), sont installés dans l’espace de noms de version du cluster.

Une extension étendue à l’espace de noms peut être installée dans un espace de noms donné fourni à l’aide de la propriété –namespace. Sachant que l’extension peut être déployée dans l’étendue d’un espace de noms, plusieurs instances de l’extension étendue à l’espace de noms et de ses composants peuvent s’exécuter sur le cluster. Chaque instance d’extension dispose d’autorisations dans l’espace de noms où elle est déployée. Toutes les extensions ci-dessus sont étendues au cluster, à l’exception d’Event Grid sur Kubernetes.

Toutes les extensions actuellement disponibles sont étendues au cluster, à l’exception de Gestion des API Azure sur Azure Arc.

Étapes suivantes