Introduction à Kubernetes pour les débutants

Entendre beaucoup parler de Kubernetes mais pas sûr de ce qu’ils sont?


Qu’est-ce que Kubernetes?

Kubernetes est un outil open source qui s’occupe de l’orchestration des conteneurs. Il automatise le déploiement des conteneurs, la mise à l’échelle et le détartrage continus, l’équilibrage de la charge des conteneurs, etc..

Kubernetes GeekFlare

Google a initialement développé Kubernetes sur le langage de programmation Go.

Actuellement, il est le leader du marché de l’orchestration de conteneurs. Kubernetes est une plate-forme idéale pour l’hébergement d’applications de microservices qui évoluent de manière dynamique. Lorsque vous travaillez sur un environnement de production, Kubernetes est la plate-forme la plus préférée et la plus sûre pour l’orchestration de conteneurs.

Parce que dans un environnement de production, vous vous attendez à aucun temps d’arrêt, votre cluster doit toujours être opérationnel.

Avec Google Cloud Platform (GCP), vous pouvez lancer Kubernetes en quelques clics. Il est pris en charge par d’autres fournisseurs de cloud, également comme AWS et Azure. De plus, plusieurs plates-formes Kubernetes gérées sont disponibles.

Pourquoi Kubernetes?

Plus tôt, une bagarre entre développeurs et testeurs était chose courante.

Les environnements étaient autrefois différents pour eux; ce qui fonctionnait sur le système du développeur ne fonctionnait pas sur le système des testeurs.

Maintenant que la plupart des organisations utilisent des conteneurs, les problèmes apparaissant en raison de différences dans l’environnement ne se produisent plus.

Mais organiser et exécuter plusieurs conteneurs n’est pas non plus une tâche facile. Lorsque vous travaillez sur des applications dynamiques, en augmentant / diminuant, le nombre de conteneurs est une chose régulière. Faire de telles tâches manuellement peut être complexe et risqué. Par conséquent, un outil d’orchestration de conteneurs est requis, et c’est pourquoi Kubernetes est nécessaire.

Fonctionnalités de Kubernetes

Il y en a beaucoup, mais voici quelques-uns des meilleurs.

# Emballage automatique des bacs

Kubernetes conditionne votre application et place automatiquement les conteneurs en fonction de leurs besoins et des ressources disponibles

# Découverte de services et équilibrage de charge

Kubernetes attribue automatiquement aux conteneurs leurs adresses IP et un nom DNS aux conteneurs exécutant des opérations logiques. La fonction d’équilibrage de charge est également présente entre l’ensemble de conteneurs.

# Orchestration du stockage

Kubernetes monte automatiquement le système de stockage de votre choix. Il peut s’agir d’un stockage local ou d’un fournisseur de cloud public tel qu’AWS.

# Auto-guérison

Chaque fois que Kubernetes se rend compte que l’un de vos conteneurs a échoué, il redémarrera ce conteneur par lui-même et créera également un nouveau conteneur à la place du crash. En cas de défaillance de votre nœud, les conteneurs exécutés sur ce nœud démarreront sur un autre nœud en cours d’exécution dans le cluster..

# Mise à l’échelle horizontale

Vous pouvez faire évoluer vos applications de haut en bas rapidement avec une simple commande. La commande simple peut être exécutée sur la CLI ou via le tableau de bord Kubernetes. La mise à l’échelle automatique est également possible, en fonction de l’utilisation du processeur, vos conteneurs seraient automatiquement augmentés ou réduits.

# Rollback et Rollout automatiques

Chaque fois qu’il y a une mise à jour de votre application, Kubernetes déploie progressivement ces modifications et mises à jour de l’application ou de ses configurations. Toutes les instances ne sont pas mises à jour en même temps, garantissant ainsi une haute disponibilité. En cas de problème, Kubernetes annulera immédiatement les modifications.

Terminologies Kubernetes

Avant de vous salir les mains, vous devez connaître régulièrement quelques terminologies utilisées dans Kubernetes.

# Pod

Il représente un ou plusieurs conteneurs exécutés dans un cluster.

# Un service

Une façon abstraite d’accéder au pod / à l’application.

# Espace de noms

Il est utilisé pour supprimer la collision de noms au sein d’un cluster. Il prend en charge plusieurs clusters virtuels sur le même cluster physique.

# Noeud

Machine de travail Kubernetes.

# Grappe

Composé d’un groupe de nœuds exécutant des applications conteneurisées sur Kubernetes.

# Annotation

Une étiquette pour stocker les données requises par les ressources.

# Le volume

C’est le répertoire de données que les conteneurs accèdent aux pods.

# ReplicaSet

Plusieurs répliques de pods en cours d’exécution.

# Étiquette

Donner un nom aux objets Kubernetes afin qu’il puisse être identifié à travers le système.

# Kubelet

Il s’agit d’un agent qui s’exécute sur chaque nœud et vérifie si les conteneurs s’exécutent dans les pods.

# Kubectl

Utilitaire de ligne de commande pour interagir avec le serveur API Kubernetes.

# Kube-proxy

Proxy réseau qui contient toutes les règles réseau sur chaque nœud du cluster.

Kubernetes et Docker

Vous vous demandez peut-être maintenant en quoi Kubernetes est différent de Docker. L’expression Kubernetes vs. Docker peut être trompeuse.

Docker est une plate-forme qui regroupe les systèmes d’exploitation, les bibliothèques et les applications à l’intérieur d’un conteneur. Permettez-moi de vous dire que Docker fait la même chose qu’il est censé faire dans Kubernetes. Mais lorsque vous travaillez uniquement avec Docker, tout est manuel. Vous devez démarrer et arrêter les conteneurs manuellement. Mais avec Kubernetes, tout est automatisé.

Kubernetes peut planifier des pods contenant des conteneurs, Kubelet indique ensuite à Docker de démarrer ou d’arrêter les conteneurs. Kubelet dans Kubernetes est responsable de la surveillance de ces conteneurs et de la collecte de leurs informations sur le nœud maître. Donc, la différence de base est que les administrateurs disent à Docker quoi faire, dans Kubernetes, tout est automatisé.

Il existe un autre outil utilisé pour l’orchestration des conteneurs: Docker Swarm. Alors, quelle est la différence entre eux?

Kubernetes vs Docker Swarm

KubernetesDocker Swarm
L’installation est complexeL’installation est simple
Plus grande communauté open sourceCommunauté plus petite que Kubernetes
Peut orchestrer facilement des centaines de conteneursBon pour orchestrer 10 à 20 conteneurs
Kubernetes Dashboard fournit une interface graphiquePas d’interface graphique
Prend en charge la mise à l’échelle automatiqueNe prend pas en charge la mise à l’échelle automatique
Prend en charge les mises à jour continues avec restauration automatiquePrend en charge les mises à jour continues, mais pas la restauration automatique
Journalisation et surveillance disponibles intégréesNécessite une tierce partie comme ELK pour la journalisation et la surveillance
Peut partager du volume avec des conteneurs dans le même podPeut partager le volume avec n’importe quel conteneur du cluster

Conclusion

J’espère que vous avez maintenant une compréhension de base de ce qu’est Kubernetes et de son utilité. Si vous êtes dans DevOps ou que vous pensez vous lancer, alors je vous suggère de prendre cette fantastique cours Udemy pour apprendre Kubernetes.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map