Caractéristiques-clefs
- Home URL
- https://kubernetes.io
- Source URL
- https://github.com/kubernetes/kubernetes
- Licence
- Apache-2.0
- Développeur(s)
Description
Présentation rapide et historique
Kubernetes, également appelé « K8s », est un système open source conçu à l'origine par Google pour automatiser le déploiement, la montée en charge et la mise en œuvre de conteneurs d'application sur des clusters de serveurs. Le nom « Kubernetes » vient du grec ancien, signifiant « timonier » ou « gouverneur », ce qui reflète sa fonction de gestion et d'orchestration des conteneurs. Après avoir été développé en interne par Google, Kubernetes a été offert à la Cloud Native Computing Foundation en 2015. Depuis lors, la communauté open source s'est largement impliquée dans son développement, avec des contributions de nombreuses entreprises, notamment Docker, CoreOS et Red Hat.
Kubernetes est devenu un standard de facto pour l'orchestration de conteneurs, permettant aux entreprises de gérer efficacement des applications complexes et distribuées. Sa capacité à automatiser la gestion des conteneurs a révolutionné la manière dont les applications sont déployées et gérées, en offrant une flexibilité et une scalabilité accrues.
Caractéristiques et fonctionnalités
- Déploiement automatisé: Kubernetes permet de déployer des applications conteneurisées sur un cluster de serveurs en quelques minutes, grâce à des configurations définies dans des fichiers YAML ou JSON.
- Montée en charge: Le système permet de mettre à l'échelle les applications en fonction de la demande, en créant ou en arrêtant des conteneurs dynamiquement.
- Mise en œuvre de conteneurs: Kubernetes prend en charge les conteneurs Linux et Windows, et assure leur gestion sur des infrastructures hétérogènes, y compris les serveurs physiques, les machines virtuelles et les clouds.
- Service de découverte: Le système fournit un service de découverte qui permet aux applications de communiquer entre elles, même si elles sont déployées sur des machines différentes.
- Gestion des persistent volumes: Kubernetes permet de gérer les données persistantes des applications en utilisant des volumes persistants, qui peuvent être reliés aux conteneurs pour fournir un stockage durable.
- Mise en réseau: Le système permet de gérer les réseaux des conteneurs, en définition de règles de trafic et en contrôle d'accès pour améliorer la sécurité des applications.
- Surveillance et débogage: Kubernetes inclut des outils de surveillance et de débogage pour détecter les anomalies et les erreurs, ainsi que pour analyser les performances des applications.