Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
elearning:workbooks:kubernetes:k8s01 [2022/09/11 09:30] – admin | elearning:workbooks:kubernetes:k8s01 [2024/12/18 13:32] (Version actuelle) – admin |
---|
~~PDF:LANDSCAPE~~ | ~~PDF:LANDSCAPE~~ |
| |
Version - **2022.04** | Version - **2024.01** |
| |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ |
* 5.1 - Mise-à-jour de kubeadm | * 5.1 - Mise-à-jour de kubeadm |
* 5.2 - Mise-à-jour des Travailleurs | * 5.2 - Mise-à-jour des Travailleurs |
| |
| =====Ressources===== |
| |
| ====Lab #1===== |
| |
| * https://www.dropbox.com/scl/fi/n8iwjrfich5af7vtoezac/pod-definition.yaml?rlkey=hs3nwcczi1zucs3l7cge3bc9s&dl=0 |
| |
| ====Lab #2==== |
| |
| * https://www.dropbox.com/scl/fi/2atlsvs2oi21fp6xudh46/cr_definition.yaml?rlkey=35lzzkg6qah55pjw34ccaval7&dl=0 |
| * https://www.dropbox.com/scl/fi/j8ww8mdm82cec71lnz023/replicaset-definition.yaml?rlkey=2iypd89690ipt6lik3h3bae3f&dl=0 |
| |
| ====Lab #3==== |
| |
| * https://www.dropbox.com/scl/fi/h057eynmqvlaoytph372r/deployment-definition.yaml?rlkey=lrs8llq89ffn1a5megm317f5y&dl=0 |
| |
=====LAB #1 - Création d'un POD===== | =====LAB #1 - Création d'un POD===== |
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES | NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES |
default myapp-deployment-57c6cb89d9-dh4cb 1/1 Running 0 27m 192.168.150.2 kubenode2.ittraining.loc <none> <none> | default myapp-deployment-57c6cb89d9-dh4cb 1/1 Running 0 27m 192.168.150.2 kubenode2.ittraining.loc <none> <none> |
default myapp-deployment-57c6cb89d9-f69nk 1/1 Running 0 27m 192.168.239.2 kubenode1.ittraining.loc <none> <none> | default myapp-deployment-57c6cb89d9-q7d4p 1/1 Running 0 27m 192.168.239.2 kubenode1.ittraining.loc <none> <none> |
default myapp-deployment-57c6cb89d9-q7d4p 1/1 Running 0 27m 192.168.150.3 kubenode2.ittraining.loc <none> <none> | default myapp-deployment-57c6cb89d9-f69nk 1/1 Running 0 27m 192.168.150.3 kubenode2.ittraining.loc <none> <none> |
default nginx 1/1 Running 0 32m 192.168.239.1 kubenode1.ittraining.loc <none> <none> | default nginx 1/1 Running 0 32m 192.168.239.1 kubenode1.ittraining.loc <none> <none> |
kube-system calico-kube-controllers-6799f5f4b4-zk298 1/1 Running 0 60m 192.168.55.195 kubemaster.ittraining.loc <none> <none> | kube-system calico-kube-controllers-6799f5f4b4-zk298 1/1 Running 0 60m 192.168.55.195 kubemaster.ittraining.loc <none> <none> |
| |
<WRAP center round important 60%> | <WRAP center round important 60%> |
**Important** : Notez que sur **kubenode1.ittraining.loc**, il y a 4 pods, à savoir **myapp-deployment-57c6cb89d9-f69nk**, **nginx**, **calico-node-5htrc** et **kube-proxy-sn26v**. | **Important** : Notez que sur **kubenode1.ittraining.loc**, il y a 4 pods, à savoir **myapp-deployment-57c6cb89d9-q7d4p**, **nginx**, **calico-node-5htrc** et **kube-proxy-sn26v**. |
</WRAP> | </WRAP> |
| |
* cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/calico-node-5htrc, kube-system/kube-proxy-sn26v | * cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-system/calico-node-5htrc, kube-system/kube-proxy-sn26v |
| |
La première erreur est due au fait que l'opération ne peux pas déplacer un pod isolé, autrement dit un pod qui n'est pas géré par un Controller d'un vers un autre noeud. Dans ce cas, le drain ne peut que supprimer le pod **nginx** et refuse donc de le faire sans l'utilisation dee l'option **--force**. | La première erreur est due au fait que l'opération ne peux pas déplacer un pod isolé, autrement dit un pod qui n'est pas géré par un Controller d'un vers un autre noeud. Dans ce cas, le drain ne peut que supprimer le pod **nginx** et refuse donc de le faire sans l'utilisation de l'option **--force**. |
| |
<WRAP center round important 60%> | <WRAP center round important 60%> |
| |
<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. |
</WRAP> | </WRAP> |
| |
| |
====5.1 - Mise-à-jour de kubeadm==== | ====5.1 - Mise-à-jour de kubeadm==== |
| |
| Commencez par modifier les sources de paquets : |
| |
| <code> |
| root@kubemaster:~# mkdir /etc/apt/keyrings |
| |
| root@kubemaster:~# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg |
| |
| root@kubemaster:~# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.25/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list |
| deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ / |
| |
| root@kubemaster:~# vi /etc/apt/sources.list |
| |
| root@kubemaster:~# cat /etc/apt/sources.list |
| deb http://archive.debian.org/debian/ stretch main |
| deb-src http://archive.debian.org/debian/ stretch main |
| deb [arch=amd64] https://download.docker.com/linux/debian stretch stable |
| |
| root@kubemaster:~# apt update |
| Ign:1 http://archive.debian.org/debian stretch InRelease |
| Atteint:2 http://archive.debian.org/debian stretch Release |
| Réception de:3 https://download.docker.com/linux/debian stretch InRelease [44,8 kB] |
| Réception de:4 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.28/deb InRelease [1 192 B] |
| Réception de:6 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.28/deb Packages [21,3 kB] |
| 67,3 ko réceptionnés en 0s (190 ko/s) |
| Lecture des listes de paquets... Fait |
| Construction de l'arbre des dépendances |
| Lecture des informations d'état... Fait |
| 8 packages can be upgraded. Run 'apt list --upgradable' to see them. |
| </code> |
| |
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** : |
root@kubemaster:~# kubectl drain kubemaster.ittraining.loc --ignore-daemonsets | root@kubemaster:~# kubectl drain kubemaster.ittraining.loc --ignore-daemonsets |
node/kubemaster.ittraining.loc cordoned | node/kubemaster.ittraining.loc cordoned |
WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-dc7hd, kube-system/kube-proxy-fpksg | WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-mp24s, kube-system/kube-proxy-btng8 |
evicting pod kube-system/coredns-6d4b75cb6d-td7cf | evicting pod kube-system/coredns-6d4b75cb6d-t5rqf |
evicting pod kube-system/calico-kube-controllers-6799f5f4b4-zk298 | evicting pod kube-system/calico-kube-controllers-bc5cbc89f-slc7s |
evicting pod kube-system/coredns-6d4b75cb6d-kxtqk | evicting pod kube-system/coredns-6d4b75cb6d-hncvw |
pod/calico-kube-controllers-6799f5f4b4-zk298 evicted | pod/calico-kube-controllers-bc5cbc89f-slc7s evicted |
pod/coredns-6d4b75cb6d-td7cf evicted | pod/coredns-6d4b75cb6d-hncvw evicted |
pod/coredns-6d4b75cb6d-kxtqk evicted | pod/coredns-6d4b75cb6d-t5rqf evicted |
node/kubemaster.ittraining.loc drained | node/kubemaster.ittraining.loc drained |
</code> | </code> |
| |
<code> | <code> |
| root@kubemaster:~# apt-cache madison kubeadm |
root@kubemaster:~# apt-cache madison kubeadm | more | kubeadm | 1.25.16-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.25.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.15-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.24.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.14-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.24.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.13-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.24.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.12-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.24.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.11-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.24.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.10-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.9-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.8-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.7-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.6-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.5-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.5-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.4-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.4-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.3-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.3-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.2-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.2-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.1-1.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.1-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | kubeadm | 1.25.0-2.1 | https://pkgs.k8s.io/core:/stable:/v1.25/deb Packages |
kubeadm | 1.23.0-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.13-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.12-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.11-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.10-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.9-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.8-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.7-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
kubeadm | 1.22.6-00 | https://apt.kubernetes.io kubernetes-xenial/main amd64 Packages | |
--Plus-- | |
[q] | |
</code> | </code> |
| |
<WRAP center round important 60%> | |
**Important** : Notez que la version la plus récente est la **1.25.0-00**. | |
</WRAP> | |
| |
Procédez maintenant à la mise-à-jour de kubeadm : | Procédez maintenant à la mise-à-jour de kubeadm : |
| |
<code> | <code> |
root@kubemaster:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-00 | root@kubemaster:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-2.1 |
Atteint:1 http://security.debian.org/debian-security stretch/updates InRelease | Ign:1 http://archive.debian.org/debian stretch InRelease |
Ign:2 http://ftp.fr.debian.org/debian stretch InRelease | Atteint:2 http://archive.debian.org/debian stretch Release |
Atteint:3 http://ftp.fr.debian.org/debian stretch-updates InRelease | Réception de:3 https://download.docker.com/linux/debian stretch InRelease [44,8 kB] |
Atteint:4 http://ftp.fr.debian.org/debian stretch Release | Atteint:5 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.25/deb InRelease |
Réception de:5 https://download.docker.com/linux/debian stretch InRelease [44,8 kB] | 44,8 ko réceptionnés en 0s (81,7 ko/s) |
Atteint:6 https://packages.cloud.google.com/apt kubernetes-xenial InRelease | |
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'arbre des dépendances | Construction de l'arbre des dépendances |
Lecture des informations d'état... Fait | Lecture des informations d'état... Fait |
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 : |
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, 586 ko d'espace disque seront libérés. | Après cette opération, 537 ko d'espace disque seront libérés. |
Réception de:1 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubeadm amd64 1.25.0-00 [9 213 kB] | Réception de:1 https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.25/deb kubeadm 1.25.0-2.1 [9 219 kB] |
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 .../kubeadm_1.25.0-00_amd64.deb ... | Préparation du dépaquetage de .../kubeadm_1.25.0-2.1_amd64.deb ... |
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: impossible de supprimer l'ancien répertoire « /etc/systemd/system/kubelet.service.d » : Le dossier n'est pas vide |
| Paramétrage de kubeadm (1.25.0-2.1) ... |
</code> | </code> |
| |
[upgrade/versions] Cluster version: v1.24.2 | [upgrade/versions] Cluster version: v1.24.2 |
[upgrade/versions] kubeadm version: v1.25.0 | [upgrade/versions] kubeadm version: v1.25.0 |
[upgrade/versions] Target version: v1.25.0 | I0314 07:25:04.222393 8210 version.go:256] remote version is much newer: v1.29.2; falling back to: stable-1.25 |
[upgrade/versions] Latest version in the v1.24 series: v1.24.4 | [upgrade/versions] Target version: v1.25.16 |
| [upgrade/versions] Latest version in the v1.24 series: v1.24.17 |
| |
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply': | Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply': |
COMPONENT CURRENT TARGET | COMPONENT CURRENT TARGET |
kubelet 3 x v1.24.2 v1.24.4 | kubelet 3 x v1.24.2 v1.24.17 |
| |
Upgrade to the latest version in the v1.24 series: | Upgrade to the latest version in the v1.24 series: |
| |
COMPONENT CURRENT TARGET | COMPONENT CURRENT TARGET |
kube-apiserver v1.24.2 v1.24.4 | kube-apiserver v1.24.2 v1.24.17 |
kube-controller-manager v1.24.2 v1.24.4 | kube-controller-manager v1.24.2 v1.24.17 |
kube-scheduler v1.24.2 v1.24.4 | kube-scheduler v1.24.2 v1.24.17 |
kube-proxy v1.24.2 v1.24.4 | kube-proxy v1.24.2 v1.24.17 |
CoreDNS v1.8.6 v1.9.3 | CoreDNS v1.8.6 v1.9.3 |
etcd 3.5.3-0 3.5.4-0 | etcd 3.5.3-0 3.5.4-0 |
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 |
| |
_____________________________________________________________________ | _____________________________________________________________________ |
Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply': | Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply': |
COMPONENT CURRENT TARGET | COMPONENT CURRENT TARGET |
kubelet 3 x v1.24.2 v1.25.0 | kubelet 3 x v1.24.2 v1.25.16 |
| |
Upgrade to the latest stable version: | Upgrade to the latest stable version: |
| |
COMPONENT CURRENT TARGET | COMPONENT CURRENT TARGET |
kube-apiserver v1.24.2 v1.25.0 | kube-apiserver v1.24.2 v1.25.16 |
kube-controller-manager v1.24.2 v1.25.0 | kube-controller-manager v1.24.2 v1.25.16 |
kube-scheduler v1.24.2 v1.25.0 | kube-scheduler v1.24.2 v1.25.16 |
kube-proxy v1.24.2 v1.25.0 | kube-proxy v1.24.2 v1.25.16 |
CoreDNS v1.8.6 v1.9.3 | CoreDNS v1.8.6 v1.9.3 |
etcd 3.5.3-0 3.5.4-0 | etcd 3.5.3-0 3.5.4-0 |
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. |
| |
_____________________________________________________________________ | _____________________________________________________________________ |
kubelet.config.k8s.io v1beta1 v1beta1 no | kubelet.config.k8s.io v1beta1 v1beta1 no |
_____________________________________________________________________ | _____________________________________________________________________ |
| |
</code> | </code> |
| |
| |
<code> | <code> |
root@kubemaster:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-00 kubectl=1.25.0-00 | root@kubemaster:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-2.1 kubectl=1.25.0-2.1 |
... | ... |
</code> | </code> |
| |
<code> | <code> |
| root@kubemaster:~# export KUBECONFIG=/etc/kubernetes/admin.conf |
| |
root@kubemaster:~# kubectl uncordon kubemaster.ittraining.loc | root@kubemaster:~# kubectl uncordon kubemaster.ittraining.loc |
node/kubemaster.ittraining.loc uncordoned | node/kubemaster.ittraining.loc uncordoned |
root@kubemaster:~# kubectl drain kubenode1.ittraining.loc --ignore-daemonsets --force | root@kubemaster:~# kubectl drain kubenode1.ittraining.loc --ignore-daemonsets --force |
node/kubenode1.ittraining.loc cordoned | node/kubenode1.ittraining.loc cordoned |
Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-5htrc, kube-system/kube-proxy-x5j2r | Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-hgrt9, kube-system/kube-proxy-czrqt |
evicting pod kube-system/coredns-565d847f94-rh7vb | evicting pod kube-system/calico-kube-controllers-bc5cbc89f-q2zkl |
evicting pod kube-system/calico-kube-controllers-6799f5f4b4-6ng7z | pod/calico-kube-controllers-bc5cbc89f-q2zkl evicted |
pod/calico-kube-controllers-6799f5f4b4-6ng7z evicted | |
pod/coredns-565d847f94-rh7vb evicted | |
node/kubenode1.ittraining.loc drained | node/kubenode1.ittraining.loc drained |
</code> | </code> |
| |
Conectez-vous à kubenode1 : | Connectez-vous à kubenode1 : |
| |
<code> | <code> |
root@kubemaster:~# ssh -l trainee kubenode1 | root@kubemaster:~# ssh -l trainee kubenode1 |
trainee@kubenode1's password: trainee | trainee@kubenode1's password: |
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 |
| |
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: Sun Sep 4 09:40:17 2022 from 192.168.56.2 | Last login: Thu Mar 14 06:43:48 2024 from 192.168.56.2 |
trainee@kubenode1:~$ su - | trainee@kubenode1:~$ su - |
Mot de passe : fenestros | Mot de passe : |
root@kubenode1:~# | root@kubenode1:~# |
| </code> |
| |
| Commencez par modifier les sources de paquets : |
| |
| <code> |
| root@kubemaster:~# mkdir /etc/apt/keyrings |
| |
| root@kubemaster:~# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg |
| |
| root@kubemaster:~# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.25/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list |
| deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ / |
| |
| root@kubenode1:~# vi /etc/apt/sources.list |
| |
| root@kubenode1:~# cat /etc/apt/sources.list |
| deb http://archive.debian.org/debian/ stretch main |
| deb-src http://archive.debian.org/debian/ stretch main |
| deb [arch=amd64] https://download.docker.com/linux/debian stretch stable |
| |
| root@kubenode1:~# apt update |
</code> | </code> |
| |
| |
<code> | <code> |
root@kubenode1:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-00 | root@kubenode1:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-2.1 |
... | ... |
</code> | </code> |
| |
Mettez-à-jour la configuration de kubelet : | Mettez-à-jour la configuration de kubeadm : |
| |
<code> | <code> |
| |
<code> | <code> |
root@kubenode1:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-00 kubectl=1.25.0-00 | root@kubenode1:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-2.1 kubectl=1.25.0-2.1 |
... | ... |
</code> | </code> |
root@kubemaster:~# kubectl drain kubenode2.ittraining.loc --ignore-daemonsets --force | root@kubemaster:~# kubectl drain kubenode2.ittraining.loc --ignore-daemonsets --force |
node/kubenode2.ittraining.loc cordoned | node/kubenode2.ittraining.loc cordoned |
Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-qk5kt, kube-system/kube-proxy-ggmt6 | Warning: ignoring DaemonSet-managed Pods: kube-system/calico-node-7q8nc, kube-system/kube-proxy-xmqkj |
evicting pod kube-system/coredns-565d847f94-phx7b | evicting pod kube-system/coredns-565d847f94-b6j2v |
evicting pod default/myapp-deployment-689f9d59-5446p | evicting pod kube-system/calico-kube-controllers-bc5cbc89f-zfdlb |
evicting pod default/myapp-deployment-689f9d59-9pkjz | pod/calico-kube-controllers-bc5cbc89f-zfdlb evicted |
evicting pod default/myapp-deployment-689f9d59-l7lkd | pod/coredns-565d847f94-b6j2v evicted |
evicting pod kube-system/calico-kube-controllers-6799f5f4b4-pg6rm | |
pod/myapp-deployment-689f9d59-5446p evicted | |
pod/calico-kube-controllers-6799f5f4b4-pg6rm evicted | |
pod/myapp-deployment-689f9d59-9pkjz evicted | |
pod/myapp-deployment-689f9d59-l7lkd evicted | |
pod/coredns-565d847f94-phx7b evicted | |
node/kubenode2.ittraining.loc drained | node/kubenode2.ittraining.loc drained |
</code> | </code> |
<code> | <code> |
root@kubemaster:~# ssh -l trainee kubenode2 | root@kubemaster:~# ssh -l trainee kubenode2 |
The authenticity of host 'kubenode2 (192.168.56.4)' can't be established. | trainee@kubenode2's password: |
ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE. | |
Are you sure you want to continue connecting (yes/no)? yes | |
Warning: Permanently added 'kubenode2,192.168.56.4' (ECDSA) to the list of known hosts. | |
trainee@kubenode2's password: trainee | |
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 |
| |
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: Sun Sep 4 09:42:58 2022 from 192.168.56.1 | Last login: Thu Mar 14 06:45:08 2024 from 192.168.56.2 |
trainee@kubenode2:~$ su - | trainee@kubenode2:~$ su - |
Mot de passe : fenestros | Mot de passe : |
root@kubenode2:~# | root@kubenode2:~# |
| </code> |
| |
| Commencez par modifier les sources de paquets : |
| |
| <code> |
| root@kubemaster:~# mkdir /etc/apt/keyrings |
| |
| root@kubemaster:~# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg |
| |
| root@kubemaster:~# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.25/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list |
| deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ / |
| |
| root@kubenode1:~# vi /etc/apt/sources.list |
| |
| root@kubenode1:~# cat /etc/apt/sources.list |
| deb http://archive.debian.org/debian/ stretch main |
| deb-src http://archive.debian.org/debian/ stretch main |
| deb [arch=amd64] https://download.docker.com/linux/debian stretch stable |
| |
| root@kubenode1:~# apt update |
</code> | </code> |
| |
| |
<code> | <code> |
root@kubenode2:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-00 | root@kubenode2:~# apt-get update && apt-get install -y --allow-change-held-packages kubeadm=1.25.0-2.1 |
... | ... |
</code> | </code> |
| |
Mettez-à-jour la configuration de kubelet : | Mettez-à-jour la configuration de kubeadm : |
| |
<code> | <code> |
| |
<code> | <code> |
root@kubenode2:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-00 kubectl=1.25.0-00 | root@kubenode2:~# apt-get update && apt-get install -y --allow-change-held-packages kubelet=1.25.0-2.1 kubectl=1.25.0-2.1 |
... | ... |
</code> | </code> |
| |
---- | ---- |
Copyright © 2022 Hugh Norris | Copyright © 2024 Hugh Norris |