Présentation de Kubernetes

Kubernetes est un logiciel d’orchestration open source conçu pour déployer, gérer et mettre à l’échelle des conteneurs

Kubernetes expliqué

Les applications modernes sont de plus en plus conçues à l'aide de conteneurs, à savoir des microservices fournis avec leurs propres dépendances et configurations. Kubernetes, ou k8s, est un logiciel open source permettant de déployer et de gérer ces conteneurs à grande échelle. Créez, livrez et mettez à l'échelle des applications conteneurisées plus rapidement avec Kubernetes.

Explorer Kubernetes avec ce parcours d'apprentissage simple

Fonctionnement de Kubernetes

À mesure que les applications s'étendent sur plusieurs conteneurs déployés sur plusieurs serveurs, leur utilisation se complexifie. Pour gérer cette complexité, Kubernetes propose une API open source qui contrôle la manière dont ces conteneurs sont exécutés.

Il offre également la possibilité d’orchestrer un cluster de machines virtuelles et de planifier l'exécution des conteneurs sur ces machines virtuelles en fonction de leurs ressources de calcul disponibles et des besoins en ressources de chaque conteneur. Les conteneurs sont regroupés en pods, l’unité d'opérations de base de Kubernetes, qui peut être mise à l'échelle vers votre état souhaité.

Kubernetes contribue à gérer la découverte de services, incorporer l'équilibrage de charge, suivre l'allocation des ressources, mettre à l'échelle selon l'utilisation du calcul, vérifier l'intégrité des ressources individuelles et permettre aux applications de s'auto-réparer en redémarrant et en répliquant automatiquement les conteneurs.

En savoir plus sur les concepts de base de Kubernetes

Fonctionnement de Kubernetes

Pourquoi utiliser Kubernetes ?

Implémentez des environnements basés sur des conteneurs de façon portable, évolutive et extensible.

Portabilité

Déplacez de façon transparente les charges de travail conteneurisées entre les machines de développement locales et la production. Orchestrez les conteneurs de manière cohérente dans différents environnements sur une infrastructure locale et des clouds publics et hybrides.

Extensibilité

Définissez des applications conteneurisées complexes et déployez-les globalement sur un cluster de serveurs, voire plusieurs clusters, pendant que Kubernetes optimise les ressources en fonction de l'état souhaité. Grâce à la mise à l’échelle automatique intégrée, Kubernetes peut facilement mettre à l’échelle votre application horizontalement tout en surveillant et en maintenant automatiquement l’intégrité du conteneur.

Extensibilité

Accédez à une collection étendue et croissante d'extensions et de plug-ins créés par des développeurs et des entreprises de la communauté Kubernetes. Un service conforme à Kubernetes vous permet de tirer pleinement parti de ces offres de la communauté et d’ajouter des fonctionnalités en matière de sécurité, de surveillance et de gestion notamment.

Favoriser l'agilité à grande échelle avec Kubernetes et DevOps

À mesure que les conteneurs, les environnements, de même que les équipes qui les utilisent se multiplient, la fréquence de publication peut augmenter et avec elle, la complexité de développement et de fonctionnement. Migrez rapidement à grande échelle avec une sécurité renforcée en utilisant DevOps dans des environnements Kubernetes. Vous pouvez migrer rapidement à grande échelle avec une sécurité renforcée.

Livrer plus rapidement du code avec l’intégration et le déploiement continus (CI/CD)

Alors que les conteneurs offrent un format d'empaquetage des applications qui facilite la collaboration entre les équipes en charge du développement et des opérations, l'intégration et le déploiement continus peuvent considérablement accélérer le déplacement du code au conteneur, puis au cluster Kubernetes en automatisant ces tâches.

Configurer l'intégration et le déploiement continus (CI/CD) pour Kubernetes

Gérer efficacement des ressources avec l'infrastructure en tant que code

L'infrastructure en tant que code favorise la cohérence et la visibilité des ressources informatiques entre les équipes, ce qui réduit le risque d'erreur humaine. Cette pratique est étroitement liée à la nature déclarative des applications Kubernetes optimisées par Helm. La combinaison de ces deux éléments permet de définir des applications, des ressources et des configurations de manière fiable, traçable et répétable.

Déployer un cluster Kubernetes avec Terraform

Accélérer la boucle de rétroaction moyennant une surveillance constante

Les conteneurs immuables, les versions fréquentes et une couche d'orchestration abstraite rendent l'observabilité plus difficile et plus critique encore. Pour réduire le délai entre les bogues et les correctifs, il vous faut une vue complète des ressources, du cluster, de l’API Kubernetes, des conteneurs et du code et ce, du contrôle d'intégrité des conteneurs AKS à la journalisation centralisée. Cette vue vous permet d'éviter les goulots d'étranglement liés aux ressources, de suivre les requêtes malveillantes et de préserver l'intégrité de vos applications Kubernetes.

Voir le fonctionnement des insights de conteneur en temps réel

Équilibrer vitesse et sécurité avec DevOps

Obtenez une observabilité intégrée en temps réel dans le cadre du workflow DevOps. Appliquez automatiquement des vérifications de conformité et des reconfigurations pour sécuriser votre pipeline de build et de mise en production, ainsi que votre application Kubernetes.

Voir la sécurité continue en action

Exemple de workflow DevOps avec Kubernetes

  1. 1Itérez, testez et déboguez rapidement différentes parties d’une application dans le même cluster Kubernetes.
  2. 2Fusionnez et vérifiez le code dans un référentiel GitHub pour une intégration continue. Puis, exécutez des builds et tests automatisés dans le cadre d'une livraison continue.
  3. 3Vérifiez la source et l'intégrité des images de conteneur. Les images sont mises en quarantaine jusqu'à leur analyse.
  4. 4Approvisionnez des clusters Kubernetes avec des outils tels que Terraform. Les charts Helm installés par Terraform définissent l'état souhaité des ressources et configurations d'application.
  5. 5Appliquez des stratégies pour gérer les déploiements sur le cluster Kubernetes.
  6. 6Le pipeline de mise en production exécute automatiquement une stratégie de déploiement prédéfinie avec chaque code.
  7. 7Ajoutez un audit de stratégie et une correction automatique au pipeline CI/CD. Par exemple, seul le pipeline de mise en production peut créer de nouveaux pods dans votre environnement Kubernetes.
  8. 8Activez la télémétrie des applications, le contrôle d'intégrité des conteneurs ainsi que l'analytique des journaux d'activité en temps réel.
  9. 9Utilisez des insights pour résoudre les problèmes et documentez des plans pour le sprint suivant.

Concevoir en utilisation la puissance de Kubernetes avec Azure

Automatisez les opérations d'approvisionnement, de mise à niveau, de surveillance et de mise à l'échelle grâce au service complètement managé Microsoft Azure Kubernetes Service (AKS). Obtenez Kubernetes serverless pour une expérience allant du développement à la production plus simple, doublée d'une sécurité et d'une gouvernance de classe Entreprise.

En savoir plus sur AKS

Kubernetes appartient à la communauté

Kubernetes a été créé et se développe grâce aux efforts combinés que déploient des milliers de personnes et des centaines d'entreprises pour ce projet. Puisez dans leurs contributions aussi passionnées que continues pour créer de formidables logiciels.

30,000
Contributeurs
150,000
Validations
Projet d'excellence
dans GitHub

Logiciels open source et engagement de l'entreprise

Pour rendre Kubernetes plus facile à adopter pour les organisations et plus facile à utiliser pour les développeurs, Microsoft a triplé le nombre d’employés participant au projet open source en seulement trois ans. Troisième contributeur de l’entreprise, Microsoft s’efforce de rendre Kubernetes plus convivial et plus accessible aux organisations en apportant à la communauté Kubernetes les connaissances et les meilleures pratiques acquises tout au long de son expérience.

Bien démarrer avec Kubernetes sur Azure

Créer un pipeline CI/CD

Préparer votre application

Déployer sur Kubernetes

Afficher l’application

Étape 1 sur 1

Créez un projet Azure DevOps pour commencer à utiliser les meilleures pratiques CI/CD.

Étape 1 sur 1

Sélectionnez un modèle d'application intégré ou utilisez votre propre code.

Puis, sélectionnez Kubernetes en tant que cible de déploiement.

Étape 1 sur 1

Créez un nouveau cluster AKS ou sélectionnez un cluster existant.

Étape 1 sur 1

Lorsque votre cluster est prêt, Azure DevOps déploie le conteneur sur le cluster AKS. Cliquez sur le point de terminaison externe pour afficher votre application.

Une fois l'application publiée, suivez les liens pour découvrir la manière dont vous pouvez la modifier.

FAQ - Kubernetes

  • Kubernetes et Docker fonctionnent ensemble.

    Docker propose une norme ouverte à des fins d'empaquetage et de distribution des applications conteneurisées. À l'aide de Docker, vous pouvez créer et exécuter des conteneurs, ainsi que stocker et partager des images de conteneur.

    Kubernetes orchestre et gère les applications distribuées et conteneurisées créées par Docker. Il offre également l'infrastructure requise pour déployer et exécuter ces applications sur un cluster de machines.

  • Un déploiement Kubernetes vous permet de décrire l'état de déploiement de l'application souhaité. Le planificateur Kubernetes s'assure que l'état actuel correspond à l'état souhaité, et maintient cet état en cas d'incident portant sur un ou plusieurs pods. Les déploiements Kubernetes vous permettent également de mettre à niveau vos applications de manière cohérente et sans temps d’arrêt.

    Regarder une discussion à ce sujet
  • Un déploiement sur Kubernetes à l'aide de DevOps implique généralement un référentiel tel que Git à des fins de gestion des versions. Le référentiel sert de début à la ligne CI/CD. Selon l'approche utilisée, les modifications apportées au référentiel déclenchent des activités d'intégration, de conception, de livraison et de déploiement.

    Découvrir en détail le fonctionnement d'AKS avec Azure DevOps
  • Kubernetes se révèle particulièrement utile dans certains scénarios tels que la migration d'applications vers le cloud ou la simplification des défis liés au Machine Learning et à l'IA.

    Les principaux cas d’utilisation sont les suivants :

  • Consultez les meilleures pratiques et les modèles architecturaux créés par des milliers de professionnels et partenaires qui utilisent Azure.

  • Suivez ce parcours organisé pour commencer l'apprentissage de Kubernetes.

Ressources

Lorsque vous êtes prêt, essayez gratuitement Kubernetes sur Azure