Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:kubernetes:k8s00 [2024/03/12 12:47] – admin | elearning:workbooks:kubernetes:k8s00 [2024/12/15 07:03] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
+ | |||
======DOF301 - Création de Clusters Kubernetes====== | ======DOF301 - Création de Clusters Kubernetes====== | ||
Ligne 27: | Ligne 28: | ||
* 2.2 - Installation de Minikube | * 2.2 - Installation de Minikube | ||
* 2.3 - Configuration de Minikube | * 2.3 - Configuration de Minikube | ||
- | * 2.4 - Installation de kubectl | + | * 2.4 - Installation de Docker |
- | * 2.5 - La Commande minikube dashboard | + | * 2.5 - Installation de kubectl |
* 2.6 - La Commande minikube addons | * 2.6 - La Commande minikube addons | ||
+ | * 2.7 - La Commande minikube dashboard | ||
+ | |||
+ | =====Machines Virtuelles VirtualBox===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | =====Ressources===== | ||
+ | |||
+ | ====Lab #1==== | ||
+ | |||
+ | * [[https:// | ||
=====L' | =====L' | ||
Ligne 639: | Ligne 653: | ||
root@kubenode2: | root@kubenode2: | ||
+ | </ | ||
+ | |||
+ | Supprimez toute configuration Kubernetes antérieure : | ||
+ | |||
+ | < | ||
+ | root@kubenode2: | ||
</ | </ | ||
Ligne 804: | Ligne 824: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | minikube version: v1.26.0 | + | minikube version: v1.34.0 |
commit: f4b412861bb746be73053c9f6d2895f12cf78565 | commit: f4b412861bb746be73053c9f6d2895f12cf78565 | ||
</ | </ | ||
Ligne 838: | Ligne 858: | ||
</ | </ | ||
- | ====2.4 - Installation de kubectl==== | + | ====2.4 |
+ | |||
+ | Minikube a besoin de Docker pour fonctionner. | ||
+ | |||
+ | ===Présentation de Docker=== | ||
+ | |||
+ | Docker est une application de virtualisation légère qui utilise des **images** et des **conteneurs**. | ||
+ | |||
+ | Une **image** est un paquet exécutable contenant tout ce qu'il est nécessaire afin d' | ||
+ | |||
+ | * le code | ||
+ | * un runtime | ||
+ | * des bibliothèques, | ||
+ | * des variables d' | ||
+ | * des fichiers de configuration | ||
+ | |||
+ | Un **conteneur** est une instance de l' | ||
+ | |||
+ | Les conteneurs exécutent des applications nativement en utilisant le noyau de la machine hôte. De ce fait les performances d'un conteneur sont supérieures à celles d'une machine virtuelle qui doit passer par un hyperviseur pour accéder aux ressources de la machine hôte : | ||
+ | |||
+ | Docker existe en deux versions **Docker-CE** (Docker Community Edition) et **Docker-EE** (Docker Enterprise Edition). Pour consulter les différences entre les deux versions, consultez le lien **[[https:// | ||
+ | |||
+ | ===Installer docker=== | ||
+ | |||
+ | Docker n'est pas dans le dépôts de Debian. Afin de l' | ||
+ | |||
+ | < | ||
+ | root@gateway: | ||
+ | ... | ||
+ | root@gateway: | ||
+ | </ | ||
+ | |||
+ | Téléchargez la clef GPG officielle de docker : | ||
+ | |||
+ | < | ||
+ | root@gateway: | ||
+ | Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). | ||
+ | OK | ||
+ | </ | ||
+ | |||
+ | Ajoutez le dépôt **stable** de docker : | ||
+ | |||
+ | < | ||
+ | root@gateway: | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 50%> | ||
+ | **Important** - Notez que la commande **lsb_release -cs** retourne le nom de la distribution Debian, à savoir dans ce cas **stretch**. | ||
+ | </ | ||
+ | |||
+ | Installez maintenant le paquet **docker-ce** : | ||
+ | |||
+ | < | ||
+ | root@gatewaydocker: | ||
+ | ... | ||
+ | root@gateway: | ||
+ | </ | ||
+ | |||
+ | Dernièrement, | ||
+ | |||
+ | < | ||
+ | root@gateway: | ||
+ | Client: Docker Engine - Community | ||
+ | | ||
+ | API version: | ||
+ | Go version: | ||
+ | Git commit: | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Server: Docker Engine - Community | ||
+ | | ||
+ | Version: | ||
+ | API version: | ||
+ | Go version: | ||
+ | Git commit: | ||
+ | Built: | ||
+ | OS/ | ||
+ | Experimental: | ||
+ | | ||
+ | Version: | ||
+ | GitCommit: | ||
+ | | ||
+ | Version: | ||
+ | GitCommit: | ||
+ | | ||
+ | Version: | ||
+ | GitCommit: | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 50%> | ||
+ | **Important** - Notez que le paquet docker-ce a besoin des paquets **containerd.io** et **docker-ce-cli**. Notez aussi que la procédure ci-dessus installe la version la plus récente de Docker. | ||
+ | </ | ||
+ | |||
+ | ====2.5 | ||
Démarrez maintenant Minikube : | Démarrez maintenant Minikube : | ||
Ligne 844: | Ligne 959: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | 😄 minikube v1.26.0 on Debian 11.3 (kvm/ | + | 😄 minikube v1.34.0 on Debian 11.8 (kvm/ |
- | ✨ Using the virtualbox driver based on user configuration | + | ✨ Using the virtualbox driver based on existing profile |
- | 💿 Downloading VM boot image ... | + | 👍 Starting |
- | > minikube-v1.26.0-amd64.iso....: | + | 🤷 virtualbox " |
- | > minikube-v1.26.0-amd64.iso: | + | |
- | 👍 Starting control plane node minikube | + | |
- | 💾 Downloading Kubernetes v1.24.1 preload ... | + | |
- | > preloaded-images-k8s-v18-v1...: | + | |
🔥 Creating virtualbox VM (CPUs=2, Memory=4000MB, | 🔥 Creating virtualbox VM (CPUs=2, Memory=4000MB, | ||
- | 🐳 Preparing Kubernetes v1.24.1 on Docker | + | 🐳 Preparing Kubernetes v1.31.0 on Docker |
▪ Generating certificates and keys ... | ▪ Generating certificates and keys ... | ||
▪ Booting up control plane ... | ▪ Booting up control plane ... | ||
▪ Configuring RBAC rules ... | ▪ Configuring RBAC rules ... | ||
+ | 🔗 Configuring bridge CNI (Container Networking Interface) ... | ||
▪ Using image gcr.io/ | ▪ Using image gcr.io/ | ||
╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ | ╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ | ||
Ligne 884: | Ligne 996: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | > kubectl.sha256: | + | > kubectl.sha256: |
- | > kubectl: | + | > kubectl: |
NAMESPACE | NAMESPACE | ||
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
+ | kube-system | ||
</ | </ | ||
Ligne 900: | Ligne 1013: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | " | + | " |
</ | </ | ||
Ligne 916: | Ligne 1029: | ||
trainee@gateway: | trainee@gateway: | ||
trainee@gateway: | trainee@gateway: | ||
- | " | + | " |
</ | </ | ||
Ligne 923: | Ligne 1036: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | 😄 minikube v1.26.0 on Debian 11.3 (kvm/amd64) | + | 😄 minikube v1.34.0 on Debian 11.8 (kvm/amd64) |
✨ Using the virtualbox driver based on existing profile | ✨ Using the virtualbox driver based on existing profile | ||
- | 👍 Starting control plane node minikube | + | 👍 Starting |
🔄 Restarting existing virtualbox VM for " | 🔄 Restarting existing virtualbox VM for " | ||
- | 🐳 Preparing Kubernetes v1.24.1 on Docker | + | 🐳 Preparing Kubernetes v1.31.0 on Docker |
+ | 🔗 Configuring bridge CNI (Container Networking Interface) | ||
╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ | ╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ | ||
│ │ | │ │ | ||
Ligne 944: | Ligne 1058: | ||
│ │ | │ │ | ||
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ | ╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ | ||
- | 🔎 Verifying Kubernetes components... | ||
▪ Using image gcr.io/ | ▪ Using image gcr.io/ | ||
+ | 🔎 Verifying Kubernetes components... | ||
🌟 Enabled addons: default-storageclass, | 🌟 Enabled addons: default-storageclass, | ||
💡 kubectl not found. If you need it, try: ' | 💡 kubectl not found. If you need it, try: ' | ||
Ligne 955: | Ligne 1069: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. | + | Client Version: v1.31.0 |
- | Client Version: | + | Kustomize Version: |
- | Kustomize Version: | + | Server Version: v1.31.0 |
- | Server Version: | + | |
</ | </ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | **Important** : La sortie de cette commande indique une version 1.24.1 de Kubernetes. | + | **Important** : La sortie de cette commande indique une version 1.31.0 de Kubernetes. |
</ | </ | ||
- | La version de kubectl installée par minikube se trouve dans le répertoire **/ | + | La version de kubectl installée par minikube se trouve dans le répertoire **/ |
< | < | ||
- | trainee@gateway: | + | trainee@gateway: |
- | -rwxr-xr-x 1 trainee trainee | + | -rwxr-xr-x 1 trainee trainee |
</ | </ | ||
Ligne 977: | Ligne 1090: | ||
trainee@gateway: | trainee@gateway: | ||
Password: | Password: | ||
- | root@gateway: | + | root@gateway: |
root@gateway: | root@gateway: | ||
logout | logout | ||
Ligne 988: | Ligne 1101: | ||
/ | / | ||
</ | </ | ||
- | |||
- | ====2.5 - La Commande minikube dashboard==== | ||
- | |||
- | Connectez-vous à l' | ||
- | |||
- | Minikube embarque l' | ||
- | |||
- | Revenez à la fenêtre de connexion en SSH. | ||
====2.6 - La Commande minikube addons==== | ====2.6 - La Commande minikube addons==== | ||
Ligne 1007: | Ligne 1112: | ||
|-----------------------------|----------|--------------|--------------------------------| | |-----------------------------|----------|--------------|--------------------------------| | ||
| ambassador | | ambassador | ||
- | | auto-pause | + | | auto-pause |
+ | | cloud-spanner | ||
| csi-hostpath-driver | | csi-hostpath-driver | ||
- | | dashboard | + | | dashboard |
| default-storageclass | | default-storageclass | ||
| efk | minikube | disabled | | efk | minikube | disabled | ||
| freshpod | | freshpod | ||
| gcp-auth | | gcp-auth | ||
- | | gvisor | + | | gvisor |
- | | headlamp | + | | headlamp |
| helm-tiller | | helm-tiller | ||
- | | inaccel | + | | inaccel |
- | | ingress | + | | |
- | | ingress-dns | + | | ingress |
+ | | ingress-dns | ||
+ | | inspektor-gadget | ||
+ | | | ||
| istio | minikube | disabled | | istio | minikube | disabled | ||
| istio-provisioner | | istio-provisioner | ||
| kong | minikube | disabled | | kong | minikube | disabled | ||
+ | | kubeflow | ||
| kubevirt | | kubevirt | ||
| logviewer | | logviewer | ||
| metallb | | metallb | ||
| metrics-server | | metrics-server | ||
- | | nvidia-driver-installer | + | | nvidia-device-plugin |
- | | nvidia-gpu-device-plugin | + | | nvidia-driver-installer |
+ | | nvidia-gpu-device-plugin | ||
| olm | minikube | disabled | | olm | minikube | disabled | ||
| pod-security-policy | | pod-security-policy | ||
- | | portainer | + | | portainer |
- | | registry | + | | registry |
| registry-aliases | | registry-aliases | ||
| registry-creds | | registry-creds | ||
- | | storage-provisioner | + | | storage-provisioner |
- | | storage-provisioner-gluster | minikube | disabled | + | | storage-provisioner-gluster | minikube | disabled |
+ | | storage-provisioner-rancher | minikube | disabled | ||
+ | | volcano | ||
| volumesnapshots | | volumesnapshots | ||
+ | | yakd | minikube | disabled | ||
|-----------------------------|----------|--------------|--------------------------------| | |-----------------------------|----------|--------------|--------------------------------| | ||
</ | </ | ||
Ligne 1045: | Ligne 1159: | ||
< | < | ||
trainee@gateway: | trainee@gateway: | ||
- | | + | 💡 metrics-server is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub. |
+ | You can view the list of minikube maintainers at: https:// | ||
+ | | ||
🌟 The ' | 🌟 The ' | ||
</ | </ | ||
Ligne 1057: | Ligne 1173: | ||
|-----------------------------|----------|--------------|--------------------------------| | |-----------------------------|----------|--------------|--------------------------------| | ||
| ambassador | | ambassador | ||
- | | auto-pause | + | | auto-pause |
+ | | cloud-spanner | ||
| csi-hostpath-driver | | csi-hostpath-driver | ||
- | | dashboard | + | | dashboard |
| default-storageclass | | default-storageclass | ||
| efk | minikube | disabled | | efk | minikube | disabled | ||
| freshpod | | freshpod | ||
| gcp-auth | | gcp-auth | ||
- | | gvisor | + | | gvisor |
- | | headlamp | + | | headlamp |
| helm-tiller | | helm-tiller | ||
- | | inaccel | + | | inaccel |
- | | ingress | + | | |
- | | ingress-dns | + | | ingress |
+ | | ingress-dns | ||
+ | | inspektor-gadget | ||
+ | | | ||
| istio | minikube | disabled | | istio | minikube | disabled | ||
| istio-provisioner | | istio-provisioner | ||
| kong | minikube | disabled | | kong | minikube | disabled | ||
+ | | kubeflow | ||
| kubevirt | | kubevirt | ||
| logviewer | | logviewer | ||
| metallb | | metallb | ||
| metrics-server | | metrics-server | ||
- | | nvidia-driver-installer | + | | nvidia-device-plugin |
- | | nvidia-gpu-device-plugin | + | | nvidia-driver-installer |
+ | | nvidia-gpu-device-plugin | ||
| olm | minikube | disabled | | olm | minikube | disabled | ||
| pod-security-policy | | pod-security-policy | ||
- | | portainer | + | | portainer |
- | | registry | + | | registry |
| registry-aliases | | registry-aliases | ||
| registry-creds | | registry-creds | ||
- | | storage-provisioner | + | | storage-provisioner |
- | | storage-provisioner-gluster | minikube | disabled | + | | storage-provisioner-gluster | minikube | disabled |
+ | | storage-provisioner-rancher | minikube | disabled | ||
+ | | volcano | ||
| volumesnapshots | | volumesnapshots | ||
+ | | yakd | minikube | disabled | ||
|-----------------------------|----------|--------------|--------------------------------| | |-----------------------------|----------|--------------|--------------------------------| | ||
</ | </ | ||
+ | |||
+ | ====2.7 - La Commande minikube dashboard==== | ||
+ | |||
+ | Activez le module **dashboard** : | ||
+ | |||
+ | < | ||
+ | trainee@gateway: | ||
+ | 💡 dashboard is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub. | ||
+ | You can view the list of minikube maintainers at: https:// | ||
+ | ▪ Using image docker.io/ | ||
+ | ▪ Using image docker.io/ | ||
+ | 💡 Some dashboard features require the metrics-server addon. To enable all features please run: | ||
+ | |||
+ | minikube addons enable metrics-server | ||
+ | |||
+ | 🌟 The ' | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à l' | ||
+ | |||
+ | Minikube embarque l' | ||
+ | |||
+ | Revenez à la fenêtre de connexion en SSH. | ||
Retournez maintenant dans la VM **kubemaster** : | Retournez maintenant dans la VM **kubemaster** : | ||
Ligne 1124: | Ligne 1272: | ||
< | < | ||
root@kubemaster: | root@kubemaster: | ||
- | NAMESPACE | + | NAMESPACE |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
- | kube-system | + | kube-system |
</ | </ | ||