Vue d’ensemble de Kubernetes et de Kubernetes avec Azure Arc
Dans cette unité, vous découvrez Kubernetes, et l’architecture et les avantages de Kubernetes avec Azure Arc.
Kubernetes
Kubernetes est une plateforme open source extensible destinée à l’orchestration des charges de travail conteneurisées. Pour garantir la résilience, chaque déploiement Kubernetes est constitué de plusieurs nœuds de serveur en cluster. Certains serveurs sont des nœuds de plan de contrôle qui gèrent les autres nœuds Worker.
Les nœuds Worker hébergent des charges de travail conteneurisées en tant que pods Kubernetes. Un pod correspond plus ou moins à un conteneur, même s’il peut inclure plusieurs conteneurs étroitement couplés qui s’exécutent sur le même nœud.
Outre l’isolation basée sur les conteneurs, Kubernetes peut aussi isoler des pods et d’autres ressources comme des déploiements dans des espaces de noms. Les espaces de noms forment des limites logiques pour assurer l’isolation entre les utilisateurs et les applications externes qui accèdent à différentes charges de travail conteneurisées. Les espaces de noms vous permettent également de restreindre les autorisations de création, d’affichage ou de gestion des ressources au sein d’un cluster.
Avantages de Kubernetes
Kubernetes fait abstraction de la complexité d’un environnement multiconteneur qui combine les composants de calcul, de réseau et de stockage sur lesquels peuvent s’appuyer des centaines ou des milliers de conteneurs. Le modèle de gestion déclarative de Kubernetes décrit la configuration cible souhaitée et laisse les détails de son implémentation au plan de contrôle Kubernetes.
Kubernetes vous permet de traiter votre centre de données comme une ressource de calcul unifiée. Vous n’avez pas à vous soucier de l’endroit et du mode de déploiement de vos conteneurs, mais seulement du déploiement et de la mise à l’échelle de vos applications selon vos besoins.
Exigences de Kubernetes
Kubernetes est une plateforme d’orchestration fortement personnalisable, qui nécessite une configuration, une gestion et une maintenance appropriées.
Les fonctionnalités comme le déploiement, la mise à l’échelle, l’équilibrage de charge, la journalisation et la supervision sont toutes facultatives. C’est à vous qu’il revient d’identifier et d’implémenter la configuration optimale pour répondre à vos besoins spécifiques.
Vous êtes responsable de la maintenance de votre environnement Kubernetes. Par exemple, vous devez gérer les mises à niveau du système d’exploitation et de Kubernetes. Vous devez aussi gérer les ressources matérielles disponibles pour les nœuds de cluster, comme le réseau, la mémoire et le stockage.
Les offres Kubernetes managées, comme Azure Kubernetes Service (AKS), peuvent réduire ou éliminer certaines de ces exigences.
Kubernetes compatible avec Azure Arc
Kubernetes avec Azure Arc vous permet de joindre des clusters Kubernetes s’exécutant n’importe où afin de pouvoir les gérer et les configurer dans Azure.
Azure Arc utilise des agents installés localement pour établir un canal approuvé avec Azure. La connexion à Azure nécessite le déploiement de plusieurs agents en tant que pods au sein d’un espace de noms azure-arc dédié dans le cluster Kubernetes. Ces agents gèrent une connexion à Azure, et synchronisent l’état et les métadonnées du cluster avec la ressource Azure correspondante.
Kubernetes avec Azure Arc fonctionne pour tous les clusters Kubernetes certifiés CNCF (Cloud Native Computing Foundation). Cela comprend vos clusters s’exécutant sur d’autres fournisseurs de cloud public (comme GCP ou AWS) et des clusters s’exécutant sur votre centre de données local (comme VMware vSphere ou Azure Stack HCI).
Avantages de Kubernetes avec Azure Arc
Outre les avantages généraux d’Azure Arc décrits dans l’unité précédente, Kubernetes avec Azure Arc offre les fonctionnalités suivantes :
- Plan de contrôle unique pour gérer toutes les ressources Kubernetes dans des environnements multiclouds/hybrides.
- Clusters Kubernetes avec Arc en tant que plateforme pour héberger des services Azure.
- Prise en charge améliorée du déploiement d’applications en utilisant GitOps. GitOps permet le déploiement automatique de configurations qui décrivent l’état souhaité de clusters Kubernetes. Vous pouvez appliquer des configurations GitOps spécifiques en utilisant Azure Policy.
- Application de stratégies d’exécution qui affectent le cluster et ses pods en utilisant Azure Policy pour Kubernetes et des rapports centralisés sur la conformité des stratégies. Par exemple, vous pouvez imposer l’utilisation de HTTPS pour le trafic d’entrée qui cible vos clusters Kubernetes avec Azure Arc, ou garantir que les conteneurs écoutent seulement sur des ports spécifiques.
- Utilisation d’Azure Monitor Container Insights pour superviser les conteneurs.
Vous allez en apprendre davantage sur ces fonctionnalités dans les unités restantes de ce module.