Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:kubernetes:k8s01 [2022/09/04 11:37] adminelearning:workbooks:kubernetes:k8s01 [2024/12/18 13:32] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-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, ReplicaSets et Deployments======+======DOF302 - Gestion des PODs, Contrôleurs de Réplication, ReplicaSetsDeployments, de la Maintenance et des Mises-à-jour du Cluster======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **DOF302 - Gestion des PODs, Contrôleurs de Réplication, ReplicaSets et Deployments**+  * **DOF302 - Gestion des PODs, Contrôleurs de Réplication, ReplicaSetsDeployments, de la Maintenance et des Mises-à-jour du Cluster**
     * 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 d'un Noeud +    * LAB #4 - Gestion de la Maintenance 
-     * 4.1 - La Commande drain +      * 4.1 - La Commande drain 
-   * 4.2 - La Commande uncordon +      * 4.2 - La Commande uncordon 
-    * LAB #5 - Mise-à-jour de K8s+    * 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://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=====
Ligne 1251: Ligne 1267:
 </code> </code>
  
-=====LAB #4 - Gestion de la Maintenance d'un Noeud=====+=====LAB #4 - Gestion de la Maintenance=====
  
-Afin de procéer à la maintenance d'un noeud, il est souvent necéssaire de le sortir du cluster. Cette opération s'appelle un **drain**.+Afin de procéder à la maintenance d'un noeud, il est souvent nécessaire de le sortir du cluster. Cette opération s'appelle un **drain**.
  
 ====4.1 - La Commande drain==== ====4.1 - La Commande drain====
Ligne 1263: Ligne 1279:
 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/    Running               27m   192.168.150.2    kubenode2.ittraining.loc    <none>           <none> default       myapp-deployment-57c6cb89d9-dh4cb                   1/    Running               27m   192.168.150.2    kubenode2.ittraining.loc    <none>           <none>
-default       myapp-deployment-57c6cb89d9-f69nk                   1/1     Running               27m   192.168.239.2    kubenode1.ittraining.loc    <none>           <none> +default       myapp-deployment-57c6cb89d9-q7d4p                   1/1     Running               27m   192.168.239.2    kubenode1.ittraining.loc    <none>           <none> 
-default       myapp-deployment-57c6cb89d9-q7d4p                   1/1     Running               27m   192.168.150.3    kubenode2.ittraining.loc    <none>           <none>+default       myapp-deployment-57c6cb89d9-f69nk                   1/1     Running               27m   192.168.150.3    kubenode2.ittraining.loc    <none>           <none>
 default       nginx                                               1/    Running               32m   192.168.239.1    kubenode1.ittraining.loc    <none>           <none> default       nginx                                               1/    Running               32m   192.168.239.1    kubenode1.ittraining.loc    <none>           <none>
 kube-system   calico-kube-controllers-6799f5f4b4-zk298            1/1     Running               60m   192.168.55.195   kubemaster.ittraining.loc   <none>           <none> kube-system   calico-kube-controllers-6799f5f4b4-zk298            1/1     Running               60m   192.168.55.195   kubemaster.ittraining.loc   <none>           <none>
Ligne 1282: Ligne 1298:
  
 <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>
  
Ligne 1295: Ligne 1311:
 cannot delete Pods declare no controller (use --force to override): default/nginx cannot delete Pods declare no controller (use --force to override): default/nginx
 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
-<code>+</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/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%>
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.
 </WRAP> </WRAP>
  
Ligne 1405: Ligne 1421:
 </WRAP> </WRAP>
  
-=====LAB #5 - Mise-à-jour de K8s=====+=====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 :
 +
 +<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** :
Ligne 1414: Ligne 1460:
 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>
Ligne 1427: Ligne 1473:
  
 <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.
-Atteint:http://security.debian.org/debian-security stretch/updates InRelease +Ign:http://archive.debian.org/debian stretch InRelease 
-Ign:http://ftp.fr.debian.org/debian stretch InRelease +Atteint:http://archive.debian.org/debian stretch Release 
-Atteint:http://ftp.fr.debian.org/debian stretch-updates InRelease +Réception de:https://download.docker.com/linux/debian stretch InRelease [44,8 kB] 
-Atteint:4 http://ftp.fr.debian.org/debian stretch Release +Atteint:https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.25/deb  InRelease 
-Réception de:https://download.docker.com/linux/debian stretch InRelease [44,8 kB] +44,8 ko réceptionnés en 0s (81,ko/s)
-Atteint:https://packages.cloud.google.com/apt kubernetes-xenial InRelease +
-44,8 ko réceptionnés en 0s (80,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 :
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 non mis à jour. +1 mis à jour, 0 nouvellement installés, 0 à enlever et 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] 
-213 ko réceptionnés en 0s (15,Mo/s)+219 ko réceptionnés en 0s (14,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>
  
Ligne 1520: Ligne 1550:
 [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
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 '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
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     v1beta1           v1beta1             no kubelet.config.k8s.io     v1beta1           v1beta1             no
 _____________________________________________________________________ _____________________________________________________________________
- 
 </code> </code>
  
Ligne 1604: Ligne 1636:
  
 <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>
Ligne 1619: Ligne 1651:
  
 <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
Ligne 1644: Ligne 1678:
 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
  
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: 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>
  
Ligne 1674: Ligne 1726:
  
 <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>
Ligne 1695: Ligne 1747:
  
 <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>
Ligne 1744: Ligne 1796:
 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>
Ligne 1762: Ligne 1808:
 <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
  
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: 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>
  
Ligne 1784: Ligne 1846:
  
 <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>
Ligne 1805: Ligne 1867:
  
 <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>
Ligne 1848: Ligne 1910:
 **Important** : Notez que tout a été mis-à-jour. **Important** : Notez que tout a été mis-à-jour.
 </WRAP> </WRAP>
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
- 
-<code> 
- 
-</code> 
  
 ---- ----
-Copyright © 2022 Hugh Norris+Copyright © 2024 Hugh Norris
Menu