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/02/21 13:00] – admin | elearning:workbooks:kubernetes:k8s00 [2024/12/15 07:03] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ~~PDF: | ~~PDF: | ||
| - | Version - **2023.01** | + | Version - **2024.01** |
| 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 203: | Ligne 217: | ||
| ====1.4 - Initialisation du Maître du Cluster==== | ====1.4 - Initialisation du Maître du Cluster==== | ||
| + | |||
| + | Supprimez toute configuration Kubernetes antérieure : | ||
| + | |||
| + | < | ||
| + | root@kubemaster: | ||
| + | </ | ||
| Vérifiez la version de kubelet : | Vérifiez la version de kubelet : | ||
| Ligne 540: | Ligne 560: | ||
| root@kubenode1: | root@kubenode1: | ||
| + | </ | ||
| + | |||
| + | Supprimez toute configuration Kubernetes antérieure : | ||
| + | |||
| + | < | ||
| + | root@kubenode1: | ||
| </ | </ | ||
| Ligne 588: | Ligne 614: | ||
| </ | </ | ||
| - | Editez | + | Éditez |
| < | < | ||
| Ligne 627: | Ligne 653: | ||
| root@kubenode2: | root@kubenode2: | ||
| + | </ | ||
| + | |||
| + | Supprimez toute configuration Kubernetes antérieure : | ||
| + | |||
| + | < | ||
| + | root@kubenode2: | ||
| </ | </ | ||
| Ligne 792: | Ligne 824: | ||
| < | < | ||
| trainee@gateway: | trainee@gateway: | ||
| - | minikube version: v1.26.0 | + | minikube version: v1.34.0 |
| commit: f4b412861bb746be73053c9f6d2895f12cf78565 | commit: f4b412861bb746be73053c9f6d2895f12cf78565 | ||
| </ | </ | ||
| Ligne 826: | 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 832: | 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 872: | 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 888: | Ligne 1013: | ||
| < | < | ||
| trainee@gateway: | trainee@gateway: | ||
| - | " | + | " |
| </ | </ | ||
| Ligne 904: | Ligne 1029: | ||
| trainee@gateway: | trainee@gateway: | ||
| trainee@gateway: | trainee@gateway: | ||
| - | " | + | " |
| </ | </ | ||
| Ligne 911: | 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 932: | 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 943: | 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 965: | Ligne 1090: | ||
| trainee@gateway: | trainee@gateway: | ||
| Password: | Password: | ||
| - | root@gateway: | + | root@gateway: |
| root@gateway: | root@gateway: | ||
| logout | logout | ||
| Ligne 976: | 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 995: | 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 1033: | 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 1045: | 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 1112: | 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 |
| </ | </ | ||
| ---- | ---- | ||
| - | Copyright © 2023 Hugh Norris. | + | Copyright © 2024 Hugh Norris. |