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:k8s01 [2022/09/04 11:37] – admin | elearning:workbooks:kubernetes:k8s01 [2024/12/18 13:32] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Version - **2022.03** | + | Version - **2024.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
- | ======DOF302 - Gestion des PODs, Contrôleurs de Réplication, | + | ======DOF302 - Gestion des PODs, Contrôleurs de Réplication, |
=====Contenu du Module===== | =====Contenu du Module===== | ||
- | * **DOF302 - Gestion des PODs, Contrôleurs de Réplication, | + | * **DOF302 - Gestion des PODs, Contrôleurs de Réplication, |
* Contenu du Module | * Contenu du Module | ||
* LAB #1 - Création d'un POD | * LAB #1 - Création d'un POD | ||
Ligne 33: | Ligne 33: | ||
* Rolling Updates | * Rolling Updates | ||
* Rollbacks | * Rollbacks | ||
- | * LAB #4 - Gestion de la Maintenance | + | * LAB #4 - Gestion de la Maintenance |
- | | + | * 4.1 - La Commande drain |
- | | + | * 4.2 - La Commande uncordon |
- | * LAB #5 - Mise-à-jour | + | * LAB #5 - Gestion des Mises-à-jour |
* 5.1 - Mise-à-jour de kubeadm | * 5.1 - Mise-à-jour de kubeadm | ||
+ | * 5.2 - Mise-à-jour des Travailleurs | ||
+ | |||
+ | =====Ressources===== | ||
+ | |||
+ | ====Lab #1===== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | ====Lab #2==== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ====Lab #3==== | ||
+ | |||
+ | * https:// | ||
=====LAB #1 - Création d'un POD===== | =====LAB #1 - Création d'un POD===== | ||
Ligne 1251: | Ligne 1267: | ||
</ | </ | ||
- | =====LAB #4 - Gestion de la Maintenance | + | =====LAB #4 - Gestion de la Maintenance===== |
- | Afin de procéer | + | Afin de procéder |
====4.1 - La Commande drain==== | ====4.1 - La Commande drain==== | ||
Ligne 1263: | Ligne 1279: | ||
NAMESPACE | NAMESPACE | ||
default | default | ||
- | default | + | default |
- | default | + | default |
default | default | ||
kube-system | kube-system | ||
Ligne 1282: | Ligne 1298: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | **Important** : Notez que sur **kubenode1.ittraining.loc**, | + | **Important** : Notez que sur **kubenode1.ittraining.loc**, |
</ | </ | ||
Ligne 1295: | Ligne 1311: | ||
cannot delete Pods declare no controller (use --force to override): default/ | cannot delete Pods declare no controller (use --force to override): default/ | ||
cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/ | cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/ | ||
- | < | + | </code> |
Notez que la commande retourne deux erreurs : | Notez que la commande retourne deux erreurs : | ||
Ligne 1302: | Ligne 1318: | ||
* cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/ | * cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/ | ||
| | ||
- | La première erreur est due au fait que l' | + | La première erreur est due au fait que l' |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 1355: | Ligne 1371: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | **Important** : Notez que le pod **nginx** a été détruit tandis que le pod **myapp-deployment-57c6cb89d9-f69nk** a été **expulsé**. Un nouveau pod dénommé **myapp-deployment-57c6cb89d9-l7lkd** a été créé sur **kubenode2.ittraining.loc** afin de maintenir le nombre à **3**. Les deux pods **calico-node-5htrc** et **kube-proxy-sn26v** ont été ignorés. | + | **Important** : Notez que le pod **nginx** a été détruit tandis que le pod **myapp-deployment-57c6cb89d9-q7d4p** a été **expulsé**. Un nouveau pod dénommé **myapp-deployment-57c6cb89d9-l7lkd** a été créé sur **kubenode2.ittraining.loc** afin de maintenir le nombre à **3**. Les deux pods **calico-node-5htrc** et **kube-proxy-sn26v** ont été ignorés. |
</ | </ | ||
Ligne 1405: | Ligne 1421: | ||
</ | </ | ||
- | =====LAB #5 - Mise-à-jour | + | =====LAB #5 - Gestion des Mises-à-jour===== |
====5.1 - Mise-à-jour de kubeadm==== | ====5.1 - Mise-à-jour de kubeadm==== | ||
+ | |||
+ | Commencez par modifier les sources de paquets : | ||
+ | |||
+ | < | ||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | deb [signed-by=/ | ||
+ | |||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | deb [arch=amd64] https:// | ||
+ | |||
+ | root@kubemaster: | ||
+ | Ign:1 http:// | ||
+ | Atteint:2 http:// | ||
+ | Réception de:3 https:// | ||
+ | Réception de:4 https:// | ||
+ | Réception de:6 https:// | ||
+ | 67,3 ko réceptionnés en 0s (190 ko/s) | ||
+ | Lecture des listes de paquets... Fait | ||
+ | Construction de l' | ||
+ | Lecture des informations d' | ||
+ | 8 packages can be upgraded. Run 'apt list --upgradable' | ||
+ | </ | ||
Afin de mettre à jour kubeadm, il convient de faire un drain du **Contrôleur** : | Afin de mettre à jour kubeadm, il convient de faire un drain du **Contrôleur** : | ||
Ligne 1414: | Ligne 1460: | ||
root@kubemaster: | root@kubemaster: | ||
node/ | node/ | ||
- | WARNING: ignoring DaemonSet-managed Pods: kube-system/ | + | WARNING: ignoring DaemonSet-managed Pods: kube-system/ |
- | evicting pod kube-system/ | + | evicting pod kube-system/ |
- | evicting pod kube-system/ | + | evicting pod kube-system/ |
- | evicting pod kube-system/ | + | evicting pod kube-system/ |
- | pod/ | + | pod/ |
- | pod/ | + | pod/ |
- | pod/ | + | pod/ |
node/ | node/ | ||
</ | </ | ||
Ligne 1427: | Ligne 1473: | ||
< | < | ||
- | + | root@kubemaster: | |
- | root@kubemaster: | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | --Plus-- | + | |
- | [q] | + | |
</ | </ | ||
- | |||
- | <WRAP center round important 60%> | ||
- | **Important** : Notez que la version la plus récente est la **1.25.0-00**. | ||
- | </ | ||
Procédez maintenant à la mise-à-jour de kubeadm : | Procédez maintenant à la mise-à-jour de kubeadm : | ||
< | < | ||
- | root@kubemaster: | + | root@kubemaster: |
- | Atteint:1 http:// | + | Ign:1 http://archive.debian.org/ |
- | Ign:2 http://ftp.fr.debian.org/ | + | Atteint:2 http://archive.debian.org/ |
- | Atteint:3 http://ftp.fr.debian.org/ | + | Réception de:3 https:// |
- | Atteint:4 http:// | + | Atteint:5 https://prod-cdn.packages.k8s.io/ |
- | Réception de:5 https:// | + | 44,8 ko réceptionnés en 0s (81,7 ko/s) |
- | Atteint:6 https:// | + | |
- | 44,8 ko réceptionnés en 0s (80,5 ko/s) | + | |
Lecture des listes de paquets... Fait | Lecture des listes de paquets... Fait | ||
Lecture des listes de paquets... Fait | Lecture des listes de paquets... Fait | ||
- | Construction de l' | + | Construction de l' |
Lecture des informations d' | Lecture des informations d' | ||
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : | Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : | ||
Ligne 1484: | Ligne 1513: | ||
Les paquets suivants seront mis à jour : | Les paquets suivants seront mis à jour : | ||
kubeadm | kubeadm | ||
- | 1 mis à jour, 0 nouvellement installés, 0 à enlever et 5 non mis à jour. | + | 1 mis à jour, 0 nouvellement installés, 0 à enlever et 7 non mis à jour. |
- | Il est nécessaire de prendre 9 213 ko dans les archives. | + | Il est nécessaire de prendre 9 219 ko dans les archives. |
- | Après cette opération, | + | Après cette opération, |
- | Réception de:1 https:// | + | Réception de:1 https://prod-cdn.packages.k8s.io/ |
- | 9 213 ko réceptionnés en 0s (15,3 Mo/s) | + | 9 219 ko réceptionnés en 0s (14,6 Mo/s) |
apt-listchanges : Lecture des fichiers de modifications (« changelog »)... | apt-listchanges : Lecture des fichiers de modifications (« changelog »)... | ||
(Lecture de la base de données... 137041 fichiers et répertoires déjà installés.) | (Lecture de la base de données... 137041 fichiers et répertoires déjà installés.) | ||
- | Préparation du dépaquetage de .../ | + | Préparation du dépaquetage de .../ |
- | Dépaquetage de kubeadm (1.25.0-00) sur (1.24.2-00) ... | + | Dépaquetage de kubeadm (1.25.0-2.1) sur (1.24.2-00) ... |
- | Paramétrage de kubeadm (1.25.0-00) ... | + | dpkg: avertissement: |
+ | Paramétrage de kubeadm (1.25.0-2.1) ... | ||
</ | </ | ||
Ligne 1520: | Ligne 1550: | ||
[upgrade/ | [upgrade/ | ||
[upgrade/ | [upgrade/ | ||
- | [upgrade/ | + | I0314 07: |
- | [upgrade/ | + | [upgrade/ |
+ | [upgrade/ | ||
Components that must be upgraded manually after you have upgraded the control plane with ' | Components that must be upgraded manually after you have upgraded the control plane with ' | ||
COMPONENT | COMPONENT | ||
- | kubelet | + | kubelet |
Upgrade to the latest version in the v1.24 series: | Upgrade to the latest version in the v1.24 series: | ||
COMPONENT | COMPONENT | ||
- | kube-apiserver | + | kube-apiserver |
- | kube-controller-manager | + | kube-controller-manager |
- | kube-scheduler | + | kube-scheduler |
- | kube-proxy | + | kube-proxy |
CoreDNS | CoreDNS | ||
etcd 3.5.3-0 | etcd 3.5.3-0 | ||
Ligne 1539: | Ligne 1570: | ||
You can now apply the upgrade by executing the following command: | You can now apply the upgrade by executing the following command: | ||
- | kubeadm upgrade apply v1.24.4 | + | kubeadm upgrade apply v1.24.17 |
_____________________________________________________________________ | _____________________________________________________________________ | ||
Ligne 1545: | Ligne 1576: | ||
Components that must be upgraded manually after you have upgraded the control plane with ' | Components that must be upgraded manually after you have upgraded the control plane with ' | ||
COMPONENT | COMPONENT | ||
- | kubelet | + | kubelet |
Upgrade to the latest stable version: | Upgrade to the latest stable version: | ||
COMPONENT | COMPONENT | ||
- | kube-apiserver | + | kube-apiserver |
- | kube-controller-manager | + | kube-controller-manager |
- | kube-scheduler | + | kube-scheduler |
- | kube-proxy | + | kube-proxy |
CoreDNS | CoreDNS | ||
etcd 3.5.3-0 | etcd 3.5.3-0 | ||
Ligne 1559: | Ligne 1590: | ||
You can now apply the upgrade by executing the following command: | You can now apply the upgrade by executing the following command: | ||
- | kubeadm upgrade apply v1.25.0 | + | kubeadm upgrade apply v1.25.16 |
+ | |||
+ | Note: Before you can perform this upgrade, you have to update kubeadm to v1.25.16. | ||
_____________________________________________________________________ | _____________________________________________________________________ | ||
Ligne 1573: | Ligne 1606: | ||
kubelet.config.k8s.io | kubelet.config.k8s.io | ||
_____________________________________________________________________ | _____________________________________________________________________ | ||
- | |||
</ | </ | ||
Ligne 1604: | Ligne 1636: | ||
< | < | ||
- | root@kubemaster: | + | root@kubemaster: |
... | ... | ||
</ | </ | ||
Ligne 1619: | Ligne 1651: | ||
< | < | ||
+ | root@kubemaster: | ||
+ | |||
root@kubemaster: | root@kubemaster: | ||
node/ | node/ | ||
Ligne 1644: | Ligne 1678: | ||
root@kubemaster: | root@kubemaster: | ||
node/ | node/ | ||
- | Warning: ignoring DaemonSet-managed Pods: kube-system/ | + | Warning: ignoring DaemonSet-managed Pods: kube-system/ |
- | evicting pod kube-system/ | + | evicting pod kube-system/ |
- | evicting pod kube-system/ | + | pod/ |
- | pod/ | + | |
- | pod/ | + | |
node/ | node/ | ||
</ | </ | ||
- | Conectez-vous à kubenode1 : | + | Connectez-vous à kubenode1 : |
< | < | ||
root@kubemaster: | root@kubemaster: | ||
- | trainee@kubenode1' | + | trainee@kubenode1' |
Linux kubenode1.ittraining.loc 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 | Linux kubenode1.ittraining.loc 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 | ||
Ligne 1665: | Ligne 1697: | ||
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
permitted by applicable law. | permitted by applicable law. | ||
- | Last login: | + | Last login: |
trainee@kubenode1: | trainee@kubenode1: | ||
- | Mot de passe : fenestros | + | Mot de passe : |
- | root@kubenode1: | + | root@kubenode1: |
+ | </ | ||
+ | |||
+ | Commencez par modifier les sources de paquets : | ||
+ | |||
+ | < | ||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | deb [signed-by=/ | ||
+ | |||
+ | root@kubenode1: | ||
+ | |||
+ | root@kubenode1: | ||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | deb [arch=amd64] https:// | ||
+ | |||
+ | root@kubenode1: | ||
</ | </ | ||
Ligne 1674: | Ligne 1726: | ||
< | < | ||
- | root@kubenode1: | + | root@kubenode1: |
... | ... | ||
</ | </ | ||
- | Mettez-à-jour la configuration de kubelet | + | Mettez-à-jour la configuration de kubeadm |
< | < | ||
Ligne 1695: | Ligne 1747: | ||
< | < | ||
- | root@kubenode1: | + | root@kubenode1: |
... | ... | ||
</ | </ | ||
Ligne 1744: | Ligne 1796: | ||
root@kubemaster: | root@kubemaster: | ||
node/ | node/ | ||
- | Warning: ignoring DaemonSet-managed Pods: kube-system/ | + | Warning: ignoring DaemonSet-managed Pods: kube-system/ |
- | evicting pod kube-system/ | + | evicting pod kube-system/ |
- | evicting pod default/ | + | evicting pod kube-system/ |
- | evicting pod default/ | + | pod/ |
- | evicting pod default/ | + | pod/ |
- | evicting pod kube-system/ | + | |
- | pod/ | + | |
- | pod/ | + | |
- | pod/ | + | |
- | pod/ | + | |
- | pod/ | + | |
node/ | node/ | ||
</ | </ | ||
Ligne 1762: | Ligne 1808: | ||
< | < | ||
root@kubemaster: | root@kubemaster: | ||
- | The authenticity of host ' | + | trainee@kubenode2' |
- | ECDSA key fingerprint is SHA256: | + | |
- | Are you sure you want to continue connecting (yes/no)? yes | + | |
- | Warning: Permanently added ' | + | |
- | trainee@kubenode2' | + | |
Linux kubenode2.ittraining.loc 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 | Linux kubenode2.ittraining.loc 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 | ||
Ligne 1775: | Ligne 1817: | ||
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
permitted by applicable law. | permitted by applicable law. | ||
- | Last login: | + | Last login: |
trainee@kubenode2: | trainee@kubenode2: | ||
- | Mot de passe : fenestros | + | Mot de passe : |
root@kubenode2: | root@kubenode2: | ||
+ | </ | ||
+ | |||
+ | Commencez par modifier les sources de paquets : | ||
+ | |||
+ | < | ||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | |||
+ | root@kubemaster: | ||
+ | deb [signed-by=/ | ||
+ | |||
+ | root@kubenode1: | ||
+ | |||
+ | root@kubenode1: | ||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | deb [arch=amd64] https:// | ||
+ | |||
+ | root@kubenode1: | ||
</ | </ | ||
Ligne 1784: | Ligne 1846: | ||
< | < | ||
- | root@kubenode2: | + | root@kubenode2: |
... | ... | ||
</ | </ | ||
- | Mettez-à-jour la configuration de kubelet | + | Mettez-à-jour la configuration de kubeadm |
< | < | ||
Ligne 1805: | Ligne 1867: | ||
< | < | ||
- | root@kubenode2: | + | root@kubenode2: |
... | ... | ||
</ | </ | ||
Ligne 1848: | Ligne 1910: | ||
**Important** : Notez que tout a été mis-à-jour. | **Important** : Notez que tout a été mis-à-jour. | ||
</ | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | |||
- | </ | ||
---- | ---- | ||
- | Copyright © 2022 Hugh Norris | + | Copyright © 2024 Hugh Norris |