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 souvent conçues à l’aide de conteneurs, qui sont des microservices fournis avec leurs propres dépendances et configurations. Kubernetes (prononcez « Koo-ber-net-EES ») est un logiciel open source pour le déploiement et la gestion de ces conteneurs à grande échelle. C’est également le mot grec pour le timonier d’un navire ou pilote. Créez, livrez et mettez à l’échelle des applications conteneurisées plus rapidement avec Kubernetes, parfois dénommé « k8s » ou « k-eights ».

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.

Avec Kubernetes, orchestrez un cluster de machines virtuelles et planifiez l’exécution des conteneurs sur ces machines virtuelles en fonction de leurs ressources de calcul et des besoins de chaque conteneur. Les conteneurs sont regroupés en pods, unités d’opérations de base de Kubernetes, qui se mettent à l’échelle selon l’état souhaité.

Par ailleurs, Kubernetes gère automatiquement la détection des services, incorpore l’équilibrage de charge, suit l’allocation des ressources et se met à l’échelle en fonction de l’utilisation des ressources informatiques. Il vérifie par ailleurs l’intégrité des ressources individuelles et permet aux applications de se réparer automatiquement en redémarrant ou en répliquant automatiquement les conteneurs.

Regardez d’autres vidéos sur les concepts de base de Kubernetes

Pourquoi utiliser Kubernetes ?

Pour que les applications conteneurisées soient opérationnelles, cela peut être complexe, car elles impliquent souvent de nombreux conteneurs déployés sur différentes machines. Kubernetes fournit un moyen de planifier et de déployer ces conteneurs, ainsi que de les adapter à votre état souhaité et de gérer leurs cycles de vie. Utilisez Kubernetes pour implémenter vos applications conteneurisées de façon portable, scalable et extensible.

Favorisez la portabilité des charges de travail

Les applications de conteneur étant distinctes de leur infrastructure, elles deviennent portables lorsque vous les exécutez sur Kubernetes. Déplacez-les des machines locales vers la production dans des environnements cloud locaux, hybrides et multiples, tout en maintenant la cohérence entre les environnements.

Mettez à l’échelle facilement les conteneurs

Définissez des applications conteneurisées complexes et déployez-les sur un cluster de serveurs, voire plusieurs clusters, avec Kubernetes. À mesure que Kubernetes met à l’échelle les applications en fonction de l’état souhaité, il surveille et gère automatiquement l’intégrité du conteneur.

Créez des applications plus extensibles

Une grande communauté open source de développeurs et d’entreprises crée activement des extensions et des plug-ins qui ajoutent des fonctionnalités telles que la sécurité, la surveillance et la gestion à Kubernetes. De plus, le programme de conformité Kubernetes certifié requiert que chaque version de Kubernetes prenne en charge les API qui facilitent l’utilisation de ces offres de la communauté.

Bien démarrer avec Kubernetes

Découvrez comment commencer à déployer et gérer des applications conteneurisées.

Suivre le parcours d’apprentissage

Acquérez un expérience pratique avec les composants, fonctionnalités et solutions Kubernetes.

Créez des solutions sur une plateforme Kubernetes complète

Bien que Kubernetes lui-même offre portabilité, scalabilité et extensibilité, l’ajout de fonctionnalités de contrôle de sécurité, d’opérations et de développement de bout en bout vous permet de déployer des mises à jour plus rapidement, sans compromettre la sécurité ni la fiabilité, et de gagner du temps sur la gestion de l’infrastructure. Lorsque vous adoptez Kubernetes, envisagez également d’implémenter les ressources suivantes :

Maîtrisez Kubernetes avec les meilleures pratiques DevOps

À mesure qu’une application Kubernetes croît (via l’ajout de conteneurs, d’environnements et d’équipes), la fréquence de publication peut augmenter et avec elle, la complexité de développement et de fonctionnement. L’utilisation des meilleures pratiques DevOps dans les environnements Kubernetes vous permet de passer rapidement à l’échelle avec une sécurité renforcée.

Fournissez du code plus rapidement avec 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 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

Réduisez le délai entre les bogues et les correctifs avec une vue complète des ressources, du cluster, de l’API Kubernetes, des conteneurs et du code, 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

Intégrez l’observabilité en temps réel à votre workflow DevOps sans compromis sur la rapidité. 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

Inspirez-vous et innovez grâce à la communauté Kubernetes

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’organisations pour ce projet, notamment en offrant un support continu aux personnes qui l’utilisent. Puisez dans leurs contributions passionnées pour créer de formidables logiciels.

35,000
Contributeurs
180,000
Validations
Projet d’excellence
dans GitHub

Contributions de Microsoft à Kubernetes

L’ingéniosité de l’open source au service des grandes entreprises

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.

Questions fréquentes (FAQ) - Kubernetes

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

  • 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 Kubernetes.

  • 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.

    Voir les stratégies de déploiement de Kubernetes
  • 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 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.

    En savoir plus sur Kubernetes par rapport à Docker

Ressources

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