formation kubernetes

1 - Présentation de Kubernetes

C’est quoi Kubernetes ?

Kubernetes est un système permettant d’exécuter et de coordonner des applications conteneurisées sur un cluster de machines.

Il gère le cycle de vie des applications et services conteneurises à l’aide des méthodes qui offrent la prévisibilité, l’évolutivité et la haute disponibilité.

En tant qu’utilisateur de Kubernetes, vous pouvez :

• Définir comment vos applications doivent fonctionner .
• Comment elles doivent pouvoir interagir avec d’autres applications ou avec le monde extérieur.
• Faire évoluer vos services , effectuer des mises a jour progressives .
• Basculer le trafic entre les différentes versions de vos applications.

Context : Why Kubernetes :

Evolutions de l’architecture des hébergements des applications : De la virtualisation à la conteneurisation :


Le principe du concept de conteneurisation :

• Le principe est de faire tourner des environnements Linux isolés les uns des autres dans des conteneurs partageant le même noyau avec la machine host.
• Le conteneur virtualise l’environnement d’exécution (comme le processeur, la mémoire vive ou le système de fichier…) et ne virtualise donc pas la machine. C’est pour cela que l’on parle de « conteneur » et non de machine virtuelle (VM).
• Comme le conteneur n’’embarque pas d’OS, il est donc beaucoup plus léger que la VM. Le conteneur est donc plus facile à migrer ou à télécharger, et plus rapide à sauvegarder ou à restaurer..
• La virtualisation par conteneur permet au serveur d’héberger potentiellement beaucoup plus de conteneurs que s’il s’agissait de machines virtuelles.

Avantages de la conteneurisation point de vue développeur :

• Un environnement portable pour exécution des apps .

• Chaque application s’exécute dans son propre conteneur : avec ses propres versions des librairies .

• Facilite l’automatisation des tests unitaire , fonctionnelles , intégrations …

• Elimine les problèmes de compatibilité entres les plateformes .

• Cout ressource très bas pour lancer un container. On peut en lancer des dizaines sur un poste développeur .

Avantages de la conteneurisation point de vue SysAdmin et Devops :

• Configure once…run anything & evreywhere .

• Elimine les inconsistances entre les différents environnements Dev , recette , statging , preprod , prod

• Améliore la rapidité et la fiabilité du déploiement continu .

• Micro-service , Les applications sont séparées en petits morceaux indépendants et peuvent être déployés et gérés dynamiquement – pas une stack monolithique dans une seule machine à tout faire.

• Facilite la mise en place des pipeline CI/CD .

Problématique

Cela se complique en production lorsqu’on cherche de la HA, de la performance et/ou à mutualiser le matériel .


les questions suivantes se posent :

• Comment gérer les dysfonctionnements ?
• Comment gérer les déploiements et leurs emplacements ?
• Comment gérer le scaling ?
• Comment gérer les mises à jours ?
• Comment gérer la communication entre les conteneurs ?
• Comment gérer le stockage nécessaire à la persistance des données ?
• Comment gérer les secrets et la configuration ?
• Tout gérer de manière manuelle et sans surcouche au système de conteneurs n’est pas viable, maintenable et pérenne.

D’ou la naissance de l’orchestrateur Kubernetes dans les openspaces de GOOGLE .

Historique

• Google annonce pour la première fois le projet Kubernetes à la mi-2014 .

• Kubernetes s’inspire du projet Borg (projet interne à Google pour gérer un cluster de jobs)

• Kubernetes 1.0 sort le 21 juillet 2015 .

• Un partenariat naît entre Google et la fondation Linux pour créer la Cloud Native Computing Fondation .

• La Cloud Native Computing Foundation est un projet Linux Foundation qui a été fondé en 2015 pour aider à faire avancer la technologie des conteneurs et aligner l’industrie technologique autour de son évolution .

Github Kubernetes Open Source .

Liens avec les outils de conteneurisation et clouds

• La naissance de la Cloud Native Computing Fondation a orienté le développement de Kubernetes pour qu’il puisse s’intégrer dans un écosystème très large. Projets de la CNCF : https://www.cncf.io/projects/

• Kubernetes supporte plusieurs moteurs de gestion de conteneurs au travers de l’interface CRI (Common Runtime Interface), Docker restant le moteur par défaut et recommandé pour la production.

• D’un point de vue utilisateur, la majorité des installations vont supporter les images au format OCI ( Open Container Initiative est un projet de la Fondation Linux visant à concevoir des normes ouvertes pour la virtualisation au niveau du système d’exploitation )


This website is powered by ItGalaxy.io

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Comments on “formation kubernetes”

Leave a Reply

Gravatar