SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Kubernetes (k8s).
Réalisé par Mr Jaouad ASSABBOUR
Histoire de Kubernetes
Lorsque nous examinons l'histoire de Kubernetes , il est facile de comprendre la motivation qui
a poussé les inventeurs de l'outil, à créer ce systèmed'orchestration de conteneurs, atteignant
aujourd'hui un seuil de maturité assez exceptionnel.
Pourquoi cet intérêt pour les conteneurs ?
L'histoire de Kubernetes a commencé chez Google, la société avait besoin
d'une infrastructure énorme afin de mettre à la portée de tous, son moteur
de recherche et les publicités associées. La croissance prévue est juste
astronomique, pour lequel diverses idées ont été soulevées.
Création de la première solution, le projet Borg
Il avait notammentcommencé par construire un systèmede gestion de cluster appelé Borg. Voici une
explicationsimple du mode de fonctionnementdu systèmeBorg de Google:
Lorsque vous avez une machine standard et que vous souhaitez exécuter plusieurs processus dessus, c'est
le systèmed'exploitation qui gère l'ordonnancement. C'est lui qui détermine quel processus a accès à quel
processeur, quel processus a accès à quelles parties mémoire, quels sont les processus qui doivent être
gelés ou disparaître dans les cas de pénurie de ressources. Véritablement Borg fait la même chose mais à
l'échelle d'un cluster, c'est en quelque sorte, un OS pour cluster. Lorsque vous désirez exécuter un job, vous
le faite depuis Borg, vous dites simplement au planificateur de cluster Borg ce que vous voulez, comme par
exemple "lance-moi 300 répliques de mon application web". Ensuite le planificateur Borg identifie les
machines du cluster qui disposeront de la capacité disponible pour exécuter votre service et envoie une
demande d'exécution du service aux nœuds (machines qui constituent votre Cluster).
Google a initialement conçu Borg
pour répondre à ses propres
besoins internes, Borg restait le
principal système de gestion des
conteneurs au sein de Google en
raison de son ampleur et de
l'étendue de ses fonctionnalités.
Par la suite Google développe
Omega, qui est une progéniture
de Borg, afin d'améliorer
l'ingénierie logicielle de
l'écosystème Borg.
L'arrivé du projet Kubernetes
Arrive alors en 2014 Kubernetes souvent abrégé k8s, "k + 8 caractères + s",
écrit en Go et né à partir du projet Borg et Omega. Ces deux derniers ont
été développés en tant que systèmes purement internes à Google, à
l'inverse de Kubernetes, qui est quant à lui maintenant devenu une version
opensource de ses prédécesseurs avec des fonctionnalités améliorées
permettant de résoudre les anciens problèmes de gestion des clusters,
ainsi qu'un support accru de la part d'IBM, Cisco et Redhat.
Public visé
Ce cours est conçu pour les débutants ayant besoin de comprendre la
technologie Kubernetes à partir de zéro. Ce cours vous donnera une
compréhensionsuffisante de la technologie, qui vous permettra plus tard
d’atteindre des niveaux d’expertise beaucoup plus élevés.
Prérequis
Avant de poursuivre ce cours, vous devez au minimum avoir
une compréhensionde base sur les commandes Linux et sur
la technologie Docker, Si vous maîtrisez Docker, plus
précisément Docker Swarm, alors il vous sera très facile de
comprendre les conceptsde Kubernetes et d’avancer
rapidement sur la piste d’apprentissage, mais ce n'est pas
non plus indispensable.
Découvrez des astuces et méthodes pour optimiser vos images Docker.
Apprenez à réduire la taille de l'image, à accélérer le temps de
construction et à améliorer les performances de vos images Docker.
Lorsque vous commencezà travailler avec Kubernetes(K8), de nombreusesnouvelles
terminologies sont à apprendre, à comprendre et à mémoriser. Ne serait-il pas
formidable qu'au lieu d'avoir à chercher une définition de chaque terminologie, que
vous puissiez accéder à l'ensemble de la terminologie clé de Kubernetes dans une
seule liste ?
Des explications sur tous les objets et composants nécessaires à la compréhension de
Kubernetes avant de s'attaquer plus tard, dans les chapitres postérieurs à la partie
pratique.
Les objets Kubernetes
Kubernetes a pour objectif principal de dissimuler la complexité de la
gestion d’un parc de conteneurs, et pour cela, différents objets existent
pour vous faciliter la vie, dont notamment :
r
Les composants des nodes
Kubernetes suit l’architecture maître-esclave, le maître plus
communément appelé master existe principalement pour gérer
votre cluster Kubernetes. . Les esclaves sont quant à eux plus
connus sous le nom de workers (on les appellent aussi minions )
et ne sont là que pour fournir de la capacité et n'ont pas le
pouvoir d'ordonner à une autre node ce qu'il peut ou ne peut pas
faire. Les composants clés du master et worker sont définis dans la
section suivante.
Les composants du Master
Les composantsdu Workers
Si on reprend tous les composantsvus précédemment, nous auronsalors un schéma d'architecturedu cluster
Kubernetes ressemblant à ceci :
Kubernates Master
Communication avec le cluster
Pour communiquer avec le cluster
Kubernetes, on peut utiliser le binaire
kubectl, ou une interface web de
management nommé Dashboard.
kubeclt (ligne de commande)
L'outil en ligne de commande Kubernetes,
kubectl, vous permet d'exécuter des
commandes sur les clusters Kubernetesafin de
créer et gérer des objets k8s et interagir avec
l'API Kubernetes. Vous pouvez utiliser kubectl
pour déployer des applications, inspecter et
gérer les ressourcesdu cluster et afficher les
logs.
Dashboard (interface web)
Dashboard est l'interface utilisateur
Web officielle de Kubernetes.Il
fournit une vue d'ensemble des
applications en cours d'exécution sur
votre cluster Kubernetes. Il permet
aux administrateurs de surveiller et
gérer les opérations de leurs clusters
Kubernetes, dépanner les
applications conteneurisées et gérer
les ressourcesdu cluster.
Pour les utilisateurs qui souhaitent essayer Kubernetes au quotidien,
il existe une multitude de solutions dont la solution Minikube.
Minikube est un outil facilitantl’exécution locale de Kubernetes. Il
exécute un cluster Kubernetes à nœud unique dans une machine
virtuelle (VM), dès lors votre VM devient à la fois un nœud de type
Master et Worker.
Hyperviseur
On va d'abord commencer par vérifier si la virtualisation est
prise en charge sous notre machine Linux :
Vérifiez ensuite que la sortie est non vide. Si c'est bien le cas, alors vouspouvez passer à l'étape suivante.
La prochaine étape consiste à installer un hyperviseur,
dans mon cas je vais utiliser VirtualBox. Pour ceux qui
souhaitent utiliser leur machine physique en tant que
nœud, je vous monterai plus tard comment s'y prendre
lorsque nous aborderons la création de notre cluster
Kubernetes.
kubectl
Il est recommandé au préalable d'installer kubectl, afin d'interagir avec notre cluster
Kubernetes.
Pour ce faire, premièrement commençonspar installer le binaire kubectl :
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s
https://storage.googleapis.com/kubernetes-
release/release/stable.txt)/bin/linux/amd64/kubectl && 
chmod +x kubectl
Après cela, déplaçons le binaire kubectl dans le dossier d'exécution des utilisateurs :
sudo mv ./kubectl /usr/local/bin/kubectl
Enfin, testons notre installation en vérifiant la version de kubectl :
kubectl version
Installation de Minikube
Une fois les prérequis satisfaits, on peut à ce moment-là, passer à
l'étape d'installation de Minikube. À cet effet, nous allons
commencer par télécharger le binaire Minikube, comme suit :
Déplaçons ensuite l’exécutable Minikube dans le dossier binaire des
utilisateurs :
Analysons ensuite le bon déroulement de notre installation en révélant la version de
notre Minikube :
Résultat
Création du cluster Kubernetes avec Minikube
À présent, il est temps de démarrer Minikube afin de créernotre premierclusterKubernetes.La
commande que nous allons exécuter va créer et configurer une machine virtuelle qui exécute un
cluster Kubernetes à un seul nœud, elle configureraégalement notre installationde kubectl de
manière à communiquer avec notre cluster.
r
Si on retourne sur notre
hyperviseur, on peut percevoir
notre nouvelle VM fraîchement
créée :
minikubestart --vm-driver=none
DefaultMemory = 2048 MB # Quantité de la RAM
DefaultCPUS = 2 # Nombre de processeurs
DefaultDiskSize = 20 GB # Taille du disque virtuel
DefaultVMDriver = virtualbox # L'hyperviseur utilisé
cat
~/.minikube/machines/minikube/config.json
minikube start --memory=4096 --cpus=4disk-size=40g
minikube config -h
kubectlget nodes
kubectlcluster-info
minikube update-check
minikube dashboard
minikube delete
Félicitations ! Si vous êtes arrivé
jusqu'ici, et maintenant, si vous
souhaitez une suite, n'hésitez
pas à me contacter. Vous
trouverez satisfaction avec moi,
que vous soyez seul(e) ou une
équipe souhaitant maîtriser
cette technologie.
Jaouad Assabbour

Contenu connexe

Similaire à Kubernetes (k8s).pdf

Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Open Source Experience
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerNizar GARRACHE
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftArthur Lutz
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetesKiwi Backup
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureVincent Thavonekham-Pro
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfHamida Rebai Trabelsi
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesCEDRIC DERUE
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...AZUG FR
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfrodolphe gilbert-collet
 
20171026 Meetup devops aix marseille - Rancher 2.0
20171026 Meetup devops aix marseille - Rancher 2.020171026 Meetup devops aix marseille - Rancher 2.0
20171026 Meetup devops aix marseille - Rancher 2.0Alexis Ducastel
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ? ALTER WAY
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialOVHcloud
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Adrien Blind
 
Containers & Cloud
Containers & Cloud Containers & Cloud
Containers & Cloud SUSE
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptxAbdellahELMAMOUN
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystèmeAymen EL Amri
 

Similaire à Kubernetes (k8s).pdf (20)

Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetes
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vfLivre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
Livre blanc cellenza_preparer_adoption_de_kubernetes_juin_2021_vf
 
20171026 Meetup devops aix marseille - Rancher 2.0
20171026 Meetup devops aix marseille - Rancher 2.020171026 Meetup devops aix marseille - Rancher 2.0
20171026 Meetup devops aix marseille - Rancher 2.0
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ? Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Kuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potentialKuberbetes 101: Unlocking containerisation’s full potential
Kuberbetes 101: Unlocking containerisation’s full potential
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
Containers & Cloud
Containers & Cloud Containers & Cloud
Containers & Cloud
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 

Plus de Jaouad Assabbour (12)

Ansible-cours .pdf
Ansible-cours .pdfAnsible-cours .pdf
Ansible-cours .pdf
 
test-formulaire-angular.pdf
test-formulaire-angular.pdftest-formulaire-angular.pdf
test-formulaire-angular.pdf
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
JWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdfJWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdf
 
js.pdf
js.pdfjs.pdf
js.pdf
 
ajax.pdf
ajax.pdfajax.pdf
ajax.pdf
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
nodejs.pdf
nodejs.pdfnodejs.pdf
nodejs.pdf
 
cours java complet-2.pdf
cours java complet-2.pdfcours java complet-2.pdf
cours java complet-2.pdf
 
git.pdf
git.pdfgit.pdf
git.pdf
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
React-cours.pdf
React-cours.pdfReact-cours.pdf
React-cours.pdf
 

Kubernetes (k8s).pdf

  • 1. Kubernetes (k8s). Réalisé par Mr Jaouad ASSABBOUR
  • 2. Histoire de Kubernetes Lorsque nous examinons l'histoire de Kubernetes , il est facile de comprendre la motivation qui a poussé les inventeurs de l'outil, à créer ce systèmed'orchestration de conteneurs, atteignant aujourd'hui un seuil de maturité assez exceptionnel.
  • 3. Pourquoi cet intérêt pour les conteneurs ? L'histoire de Kubernetes a commencé chez Google, la société avait besoin d'une infrastructure énorme afin de mettre à la portée de tous, son moteur de recherche et les publicités associées. La croissance prévue est juste astronomique, pour lequel diverses idées ont été soulevées.
  • 4. Création de la première solution, le projet Borg Il avait notammentcommencé par construire un systèmede gestion de cluster appelé Borg. Voici une explicationsimple du mode de fonctionnementdu systèmeBorg de Google: Lorsque vous avez une machine standard et que vous souhaitez exécuter plusieurs processus dessus, c'est le systèmed'exploitation qui gère l'ordonnancement. C'est lui qui détermine quel processus a accès à quel processeur, quel processus a accès à quelles parties mémoire, quels sont les processus qui doivent être gelés ou disparaître dans les cas de pénurie de ressources. Véritablement Borg fait la même chose mais à l'échelle d'un cluster, c'est en quelque sorte, un OS pour cluster. Lorsque vous désirez exécuter un job, vous le faite depuis Borg, vous dites simplement au planificateur de cluster Borg ce que vous voulez, comme par exemple "lance-moi 300 répliques de mon application web". Ensuite le planificateur Borg identifie les machines du cluster qui disposeront de la capacité disponible pour exécuter votre service et envoie une demande d'exécution du service aux nœuds (machines qui constituent votre Cluster).
  • 5. Google a initialement conçu Borg pour répondre à ses propres besoins internes, Borg restait le principal système de gestion des conteneurs au sein de Google en raison de son ampleur et de l'étendue de ses fonctionnalités. Par la suite Google développe Omega, qui est une progéniture de Borg, afin d'améliorer l'ingénierie logicielle de l'écosystème Borg.
  • 6. L'arrivé du projet Kubernetes Arrive alors en 2014 Kubernetes souvent abrégé k8s, "k + 8 caractères + s", écrit en Go et né à partir du projet Borg et Omega. Ces deux derniers ont été développés en tant que systèmes purement internes à Google, à l'inverse de Kubernetes, qui est quant à lui maintenant devenu une version opensource de ses prédécesseurs avec des fonctionnalités améliorées permettant de résoudre les anciens problèmes de gestion des clusters, ainsi qu'un support accru de la part d'IBM, Cisco et Redhat.
  • 7. Public visé Ce cours est conçu pour les débutants ayant besoin de comprendre la technologie Kubernetes à partir de zéro. Ce cours vous donnera une compréhensionsuffisante de la technologie, qui vous permettra plus tard d’atteindre des niveaux d’expertise beaucoup plus élevés.
  • 8. Prérequis Avant de poursuivre ce cours, vous devez au minimum avoir une compréhensionde base sur les commandes Linux et sur la technologie Docker, Si vous maîtrisez Docker, plus précisément Docker Swarm, alors il vous sera très facile de comprendre les conceptsde Kubernetes et d’avancer rapidement sur la piste d’apprentissage, mais ce n'est pas non plus indispensable.
  • 9. Découvrez des astuces et méthodes pour optimiser vos images Docker. Apprenez à réduire la taille de l'image, à accélérer le temps de construction et à améliorer les performances de vos images Docker.
  • 10. Lorsque vous commencezà travailler avec Kubernetes(K8), de nombreusesnouvelles terminologies sont à apprendre, à comprendre et à mémoriser. Ne serait-il pas formidable qu'au lieu d'avoir à chercher une définition de chaque terminologie, que vous puissiez accéder à l'ensemble de la terminologie clé de Kubernetes dans une seule liste ? Des explications sur tous les objets et composants nécessaires à la compréhension de Kubernetes avant de s'attaquer plus tard, dans les chapitres postérieurs à la partie pratique.
  • 11. Les objets Kubernetes Kubernetes a pour objectif principal de dissimuler la complexité de la gestion d’un parc de conteneurs, et pour cela, différents objets existent pour vous faciliter la vie, dont notamment :
  • 12. r
  • 13. Les composants des nodes Kubernetes suit l’architecture maître-esclave, le maître plus communément appelé master existe principalement pour gérer votre cluster Kubernetes. . Les esclaves sont quant à eux plus connus sous le nom de workers (on les appellent aussi minions ) et ne sont là que pour fournir de la capacité et n'ont pas le pouvoir d'ordonner à une autre node ce qu'il peut ou ne peut pas faire. Les composants clés du master et worker sont définis dans la section suivante.
  • 16. Si on reprend tous les composantsvus précédemment, nous auronsalors un schéma d'architecturedu cluster Kubernetes ressemblant à ceci :
  • 18. Communication avec le cluster Pour communiquer avec le cluster Kubernetes, on peut utiliser le binaire kubectl, ou une interface web de management nommé Dashboard.
  • 19. kubeclt (ligne de commande) L'outil en ligne de commande Kubernetes, kubectl, vous permet d'exécuter des commandes sur les clusters Kubernetesafin de créer et gérer des objets k8s et interagir avec l'API Kubernetes. Vous pouvez utiliser kubectl pour déployer des applications, inspecter et gérer les ressourcesdu cluster et afficher les logs.
  • 20. Dashboard (interface web) Dashboard est l'interface utilisateur Web officielle de Kubernetes.Il fournit une vue d'ensemble des applications en cours d'exécution sur votre cluster Kubernetes. Il permet aux administrateurs de surveiller et gérer les opérations de leurs clusters Kubernetes, dépanner les applications conteneurisées et gérer les ressourcesdu cluster.
  • 21. Pour les utilisateurs qui souhaitent essayer Kubernetes au quotidien, il existe une multitude de solutions dont la solution Minikube. Minikube est un outil facilitantl’exécution locale de Kubernetes. Il exécute un cluster Kubernetes à nœud unique dans une machine virtuelle (VM), dès lors votre VM devient à la fois un nœud de type Master et Worker.
  • 22. Hyperviseur On va d'abord commencer par vérifier si la virtualisation est prise en charge sous notre machine Linux : Vérifiez ensuite que la sortie est non vide. Si c'est bien le cas, alors vouspouvez passer à l'étape suivante.
  • 23. La prochaine étape consiste à installer un hyperviseur, dans mon cas je vais utiliser VirtualBox. Pour ceux qui souhaitent utiliser leur machine physique en tant que nœud, je vous monterai plus tard comment s'y prendre lorsque nous aborderons la création de notre cluster Kubernetes.
  • 24. kubectl Il est recommandé au préalable d'installer kubectl, afin d'interagir avec notre cluster Kubernetes. Pour ce faire, premièrement commençonspar installer le binaire kubectl : curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes- release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl
  • 25. Après cela, déplaçons le binaire kubectl dans le dossier d'exécution des utilisateurs : sudo mv ./kubectl /usr/local/bin/kubectl
  • 26. Enfin, testons notre installation en vérifiant la version de kubectl : kubectl version
  • 28. Une fois les prérequis satisfaits, on peut à ce moment-là, passer à l'étape d'installation de Minikube. À cet effet, nous allons commencer par télécharger le binaire Minikube, comme suit :
  • 29. Déplaçons ensuite l’exécutable Minikube dans le dossier binaire des utilisateurs :
  • 30. Analysons ensuite le bon déroulement de notre installation en révélant la version de notre Minikube : Résultat
  • 31. Création du cluster Kubernetes avec Minikube À présent, il est temps de démarrer Minikube afin de créernotre premierclusterKubernetes.La commande que nous allons exécuter va créer et configurer une machine virtuelle qui exécute un cluster Kubernetes à un seul nœud, elle configureraégalement notre installationde kubectl de manière à communiquer avec notre cluster.
  • 32. r
  • 33. Si on retourne sur notre hyperviseur, on peut percevoir notre nouvelle VM fraîchement créée :
  • 35. DefaultMemory = 2048 MB # Quantité de la RAM DefaultCPUS = 2 # Nombre de processeurs DefaultDiskSize = 20 GB # Taille du disque virtuel DefaultVMDriver = virtualbox # L'hyperviseur utilisé
  • 37. minikube start --memory=4096 --cpus=4disk-size=40g
  • 39.
  • 41.
  • 43.
  • 44.
  • 48. Félicitations ! Si vous êtes arrivé jusqu'ici, et maintenant, si vous souhaitez une suite, n'hésitez pas à me contacter. Vous trouverez satisfaction avec moi, que vous soyez seul(e) ou une équipe souhaitant maîtriser cette technologie. Jaouad Assabbour