Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
elearning:workbooks:kubernetes:k8s08 [2020/12/31 10:14] – created adminelearning:workbooks:kubernetes:k8s08 [2024/12/20 15:20] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version - **2020.03**+Version - **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
  
-======DOF301 Création de Clusters Kubernetes======+======DOF309 Gestion de Paquets pour Kubernetes avec Helm======
  
 =====Contenu du Module===== =====Contenu du Module=====
  
-  * **DOF301 Création de Clusters Kubernetes**+  * **DOF309 Gestion de Paquets pour Kubernetes avec Helm**
     * Contenu du Module     * Contenu du Module
-    * L'Orchestration de Conteneurs +    * Présentation de Helm 
-    * Présentation de Kubernetes (k8s) +    * LAB #1 - Travailler avec Helm 
-      * Master +      * 1.1 - Installation de Helm 
-      * Nœuds (Minions) +      * 1.2 - La Commande helm search hub 
-    * LAB #1 - Création du Cluster Kubernetes avec des Machines Virtuelles +      * 1.3 - Rechercher dans le Helm Hub 
-      * 1.1 - Présentation +      * 1.4 - Ajouter et supprimer un Dépôt 
-      * 1.2 - Créer le Réseau Privé Hôte 192.168.56.0/24 +      * 1.5 - La Commande helm search repo 
-      * 1.3 - Démarrer les Machines Virtuelles +      * 1.6 - La Commande helm show 
-      * 1.4 - Connexion à la Machine Virtuelle kubemaster +      * 1.7 - Installation d'un Chart 
-      * 1.5 - Tester le Réseau +      * 1.8 - La Commande helm get 
-      * 1.6 - Initialisation du Maître du Cluster +      * 1.Utilisation des NOTES 
-      * 1.7 - Installation d'une Extension Réseau pour la Communication entre des PODs +      * 1.10 La Commande helm upgrade 
-      * 1.8 - Connexion des Travailleurs au Maître  +      * 1.11 La Commande helm history 
-    * LAB #2 - Création du Cluster Kubernetes avec Minikube +      * 1.12 - La Commande helm rollback 
-      * 2.- Présentation de Minikube +      * 1.13 - La Commande helm uninstall 
-      * 2.Installation de Minikube +    * LAB #Supervision de Kubernetes avec le Stack EFK 
-      * 2.Configuration de Minikube +      * 2.1 - Présentation du Stack EFK 
-      * 2.Installation de kubectl +      * 2.2 - Installation du Chart elasticsearch 
-      * 2.5 - Mettre à jour Minikube +      * 2.3 - Installation du Chart fluentd-elasticsearch 
-      * 2.6 - La Commande minikube dashboard +      * 2.4 - Installation du Chart kibana 
-      * 2.- La Commande minikube addons +      * 2.5 - Génération de Traces dans Kubernetes 
-    * LAB #Création du Cluster Kubernetes avec kind +      * 2.6 - Visualisation des Données avec Kibana
-      * 3.1 - Présentation de kind +
-      * 3.2 - Installation de Docker-CE +
-      * 3.3 - Installation de kubelet, kubeadm et kubectl  +
-      * 3.4 - Installation de kind et Démarrage du Cluster+
  
-=====L'Orchestration de Conteneurs=====+=====Ressources=====
  
-Les principales solutions de la containérisation sont :+====Lab #1====
  
-  * **[[https://www.docker.com/|Docker]]**, +  * https://www.dropbox.com/scl/fi/mw6afaitlz26tvt31dw33/wordpress-values.yaml?rlkey=eii2mhu99bo5ita8whf5e1ihq&dl=0
-  * **[[https://coreos.com/why/|Container Linux]]** qui utilise rkt (anciennement Rocket), +
-  * **[[https://cri-o.io/|CRI-O]]**.+
  
-Les principales solutions d'orchestration de conteneurs sont :+====Lab #2====
  
-  * **[[https://docs.docker.com/engine/swarm/|Docker Swarm]]**, +  * https://www.dropbox.com/scl/fi/rmgz23mutsbvxe5qk8099/kibana-values.yaml?rlkey=rqq9zelrjijw9mkf7lefh9ohi&dl=0 
-  * **[[https://kubernetes.io/|Kubernetes]]**, +  * https://www.dropbox.com/scl/fi/3tiwgd80xpi387g0mdlc7/counter.yaml?rlkey=pphutka93v5mliekgicrzc6p9&dl=0
-  * **[[https://mesos.apache.org/|Mesos]]**.+
  
-L'orchestration de conteneurs apporte :+=====Présentation de Helm=====
  
-  La haute disponibilité, +**Helm** est un gestionnaire de paquets pour Kubernetes. Helm 3.x est compatible avec les versions **n-3** de Kubernetes où **n** est la version de Kubernetes contre laquelle la version de Helm a été compilée, tandis que le gestionnaire Helm 2.x n'est compatible qu'avec les versions **n-1** de Kubernetes où **n** est la version de Kubernetes contre laquelle la version de Helm a été compilée.
-  L'équilibrage de charge, +
-  L'augmentation et la réduction du Services (Scale up / scale down).+
  
-=====Présentation de Kubernetes (k8s)=====+=====LAB #1 - Travailler avec Helm=====
  
-====Master====+Placez-vous dans votre Gateway. Commencez par vérifier le status de Minikube :
  
-  * Contrôleur du cluster, +<code> 
-  * Responsable de l'orchestration.+trainee@gateway:~$ minikube status 
 +minikube 
 +type: Control Plane 
 +host: Running 
 +kubelet: Running 
 +apiserver: Running 
 +kubeconfig: Configured 
 +</code>
  
-Le Master contient :+====1.1 - Installation de Helm====
  
-  Serveur API, +Installez **helm** :
-    Front end, +
-  Service etcd, +
-    Key-value store qui stocke toutes les données utilisées pour gérer le cluster et gérer les verrous, +
-  * Contrôleur, +
-    * Surveille l'état des conteneurs, nœuds et end-points. Responsable de la mise en place de nouveaux conteneurs en cas de défaillances. +
-  * Ordonnanceur, +
-    * Distribue les conteneurs existants aux nœuds et cherche des nouveaux conteneurs et les attribue aux nœuds.+
  
-Certains ports doivent être ouverts sur le noeud maître :+<code> 
 +trainee@gateway:~$ su - 
 +Password
  
-^ Protocole ^ Direction ^ Port(s) ^ Exécutable ^ +root@gateway:~# curl https://baltocdn.com/helm/signing.asc gpg --dearmor sudo tee /usr/share/keyrings/helm.gpg > /dev/null 
-TCP | Entrante | 6443 | Kubernetes API server | +  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current 
-| TCP | Entrante | 2379-2380 | etcd server client API +                                 Dload  Upload   Total   Spent    Left  Speed 
-| TCP | Entrante | 10250 | Kubelet API | +100  1699  100  1699    0      17161      0 --:--:-- --:--:-- --:--:-- 17336
-| TCP | Entrante | 10251 | kube-scheduler | +
-| TCP | Entrante | 10252 | kube-controller-manager |+
  
-====Noeuds (Minions) ====+root@gateway:~# echo "deb [arch=$(dpkg --print-architecturesigned-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list 
 +deb [arch=amd64 signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main
  
-  * Machine physique ou virtuelle sur laquelle est installé Kubernetes, +root@gateway:~# apt-get update 
-  * Un travailleur sur lequel Kubernetes lance des conteneurs,+...
  
-Le Nœud contient :+root@gateway:~# apt-get install helm 
 +... 
 +</code>
  
-  * Service kubelet, +Vérifiez ensuite votre travail :
-    * Agent qui s'exécute sur chaque noeud. Responsable de la surveillance des conteneurs. +
-  * Container runtime, +
-    * Docker, +
-    * rkt (rocket), +
-    * CRI-O (crio).+
  
-Certains ports doivent être ouverts sur chaque noeud travailleur :+<code> 
 +root@gateway:~# which helm 
 +/usr/sbin/helm
  
-^ Protocole ^ Direction ^ Port(s) ^ Exécutable ^ +root@gateway:~# helm version 
-| TCP | Entrante | 10250 | Kubelet API | +version.BuildInfo{Version:"v3.16.3", GitCommit:"cfd07493f46efc9debd9cc1b02a0961186df7fdf", GitTreeState:"clean", GoVersion:"go1.22.7"} 
-| TCP | Entrante | 30000-32767 | Services NodePort |+</code>
  
-=====LAB #1 Création du Cluster Kubernetes avec des Machines Virtuelles=====+Pour permettre l'auto-complétion de la ligne de commande avec la commande helm, similaire à celle sous bash, exécutez la commande suivante en tant que trainee :
  
-====1.1 - Présentation====+<code> 
 +root@gateway:~# exit 
 +logout 
 +trainee@gateway:~$
  
-Notez que les machines virtuelles utilisées avec Kubernetes doivent être sous une des distributions suivantes :+trainee@gateway:~$ source <(helm completion bash) 
 +</code>
  
-  Ubuntu 16.04+, +Pour visualiser les variables d'environnement de la commande **helm**, exécutez la commande **helm env*:
-  Debian 9+, +
-  CentOS 7, +
-  RHEL 7, +
-  Fedora 25+, +
-  HypriotOS v1.0.1+, +
-  Flatcar Container Linux (tested with 2512.3.0).+
  
-Chaque machine doit avoir +<code> 
- +trainee@gateway:~$ helm env 
-  * Un minimum de 2 GO de RAM, +HELM_BIN="helm" 
-  * Un minimum de 2 CPU+HELM_BURST_LIMIT="100" 
- +HELM_CACHE_HOME="/home/trainee/.cache/helm" 
-Les machines doivent : +HELM_CONFIG_HOME="/home/trainee/.config/helm" 
- +HELM_DATA_HOME="/home/trainee/.local/share/helm" 
-  * être dans le même réseau, +HELM_DEBUG="false" 
-  * posséder un nom d'hôte unique, une adresse MAC unique ainsi qu'un product_uuid unique, +HELM_KUBEAPISERVER="" 
-  * avoir le swap **désactivé**, +HELM_KUBEASGROUPS="" 
-  * avoir l'utilisation de **dnsmasq** par NetworkManager sous Systemd **désactivée**. +HELM_KUBEASUSER="" 
- +HELM_KUBECAFILE="" 
-Le serveur que vous utilisez est muni de VirtualBox. Trois machines virtuelles **Debian 9** ont été configurées selon le tableau ci-dessous : +HELM_KUBECONTEXT="" 
- +HELM_KUBEINSECURE_SKIP_TLS_VERIFY="false" 
-^ Machine Virtuelle ^ Nom d'hôte ^ Interface 1 ^  Redirection de Port ^ Interface 2 ^ Redirection de Port ^ +HELM_KUBETLS_SERVER_NAME="" 
-| kubemaster | kubemaster.ittraining.loc | 10.0.2.15 | 2022 > 22 | 192.168.56.2 | Aucune | +HELM_KUBETOKEN="" 
-| kubenode1 | kubenode1.ittraining.loc | 10.0.2.15 | 3022 > 22 | 192.168.56.3 | Aucune | +HELM_MAX_HISTORY="10
-| kubenode2 | kubenode2.ittraining.loc | 10.0.2.15 | 4022 22 | 192.168.56.4 | Aucune | +HELM_NAMESPACE="default" 
- +HELM_PLUGINS="/home/trainee/.local/share/helm/plugins" 
-Les noms d'utilisateurs et les mots de passe sont : +HELM_QPS="0.00" 
- +HELM_REGISTRY_CONFIG="/home/trainee/.config/helm/registry/config.json" 
-^ Utilisateur ^ Mot de Passe ^ +HELM_REPOSITORY_CACHE="/home/trainee/.cache/helm/repository" 
-| trainee | trainee | +HELM_REPOSITORY_CONFIG="/home/trainee/.config/helm/repositories.yaml" 
-| root | fenestros |+</code>
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-**Important** : Chaque machine virtuelle a été pré-installée avec **Docker****kubeadm**, **kubelet** et **kubectl**. +**Important** : Notez que la valeur de la variable **$HELM_NAMESPACE** est **default**. Pour modifier le Namespace utilisé lors de l'utilisation de la commande helmvous pouvez soit modifier la valeur de cette variable, soit utiliser l'option **--namespace** ou **-n** lors de chaque exécution le la commande.
 </WRAP> </WRAP>
  
-====1.2 - Créer le Réseau Privé Hôte 192.168.56.0/24====  +Pour visualiser l'environnement de la commande **kubectl** exécutez la commande **kubectl config view** :
- +
-Créez le Réseau Privé Hôte **192.168.56.0/24** qui permettra la communication entre les trois machines virtuelles **kubemaster**, **kubenode1** et **kubenode2** :+
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage hostonlyif create +trainee@gateway:~$ kubectl config view 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% +apiVersion: v1 
-Interface 'vboxnet0' was successfully created+clusters: 
 +- cluster: 
 +    certificate-authority-data: DATA+OMITTED 
 +    server: https://192.168.42.99:8443 
 +  name: 192-168-42-99:8443 
 +- cluster: 
 +    certificate-authority: /home/trainee/.minikube/ca.crt 
 +    extensions: 
 +    - extension: 
 +        last-update: Fri, 20 Dec 2024 14:48:36 CET 
 +        provider: minikube.sigs.k8s.io 
 +        version: v1.34.
 +      name: cluster_info 
 +    server: https://192.168.59.100:8443 
 +  name: minikube 
 +contexts: 
 +- context: 
 +    cluster: minikube 
 +    extensions: 
 +    - extension: 
 +        last-update: Fri, 20 Dec 2024 14:48:36 CET 
 +        provider: minikube.sigs.k8s.io 
 +        version: v1.34.
 +      name: context_info 
 +    namespace: default 
 +    user: minikube 
 +  name: minikube 
 +- context: 
 +    cluster: 192-168-42-99:8443 
 +    namespace: myproject 
 +    user: developer/192-168-42-99:8443 
 +  name: minishift 
 +- context: 
 +    cluster: 192-168-42-99:8443 
 +    namespace: myproject 
 +    user: developer/192-168-42-99:8443 
 +  name: myproject/192-168-42-99:8443/developer 
 +- context: 
 +    cluster: 192-168-42-99:8443 
 +    namespace: myproject 
 +    user: system:admin/192-168-42-99:8443 
 +  name: myproject/192-168-42-99:8443/system:admin 
 +current-context: minikube 
 +kind: Config 
 +preferences: {} 
 +users: 
 +- name: developer/192-168-42-99:8443 
 +  user: 
 +    token: REDACTED 
 +- name: minikube 
 +  user: 
 +    client-certificate: /home/trainee/.minikube/profiles/minikube/client.crt 
 +    client-key: /home/trainee/.minikube/profiles/minikube/client.key 
 +- name: system:admin/192-168-42-99:8443 
 +  user: 
 +    client-certificate-data: DATA+OMITTED 
 +    client-key-data: DATA+OMITTED
 </code> </code>
  
-====1.Démarrer les Machines Virtuelles====+====1.La Commande helm search hub====
  
-Pour lancer la machine **kubemaster**, utilisez la commande suivante à partir de votre serveur dédié :+Un grand nombre de Charts Helm sont regroupés sur le site **[[https://artifacthub.io|The Artifact Hub]]**. Il est possible de lister le contenu du Hub en ligne de commande :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage startvm kubemaster --type headless +trainee@gateway:~$ helm search hub | more 
-Waiting for VM "kubemaster" to power on... +URL                                                     CHART VERSION                                           APP VERSION                                   
-VM "kubemaster" has been successfully started.+        DESCRIPTION                                        
 +https://artifacthub.io/packages/helm/mya/12factor       24.1.2                                                                                                
 +        Easily deploy any application that conforms to ... 
 +https://artifacthub.io/packages/helm/gabibbo97/...      0.1.0                                                   fedora-32                                     
 +        389 Directory Server                               
 +https://artifacthub.io/packages/helm/four-allpo...      20.3.4                                                  3.10.38                                       
 +        A Helm chart for 4ALLPORTAL version 3.10.0 and up  
 +https://artifacthub.io/packages/helm/helm-7dtd/...      0.1.0                                                   0.4.4                                         
 +        7 Days to Die is an open-world game that is a u... 
 +https://artifacthub.io/packages/helm/openshift/...      0.2.0                                                   1.16.0                                        
 +        A Helm chart for A10 Thunder Kubernetes Connector  
 +https://artifacthub.io/packages/helm/aad-pod-id...      4.1.18                                                  1.8.17                                        
 +        Deploy components for aad-pod-identity             
 +https://artifacthub.io/packages/helm/smo-helm-c...      6.0.0                                                                                                 
 +        ONAP Application Authorization Framework           
 +https://artifacthub.io/packages/helm/smo-helm-c...      6.0.0                                                                                                 
 +        ONAP Active and Available Inventory                
 +https://artifacthub.io/packages/helm/statcan/aa...      0.1.7                                                   1.0                                           
 +        A Helm chart for AAW Financial Data Reconciliation 
 +https://artifacthub.io/packages/helm/arhatdev/a...      0.1.0                                                   latest                                        
 +        Network Manager Living at Edge                     
 +https://artifacthub.io/packages/helm/apfelplant...      0.1.0                                                   1.16.0                                        
 +--More--
 </code> </code>
  
-Pour lancer la machine **kubenode1**, utilisez la commande suivante à partir de votre serveur dédié :+Recherchez ensuite tout Chart contenant la chaîne **mysql** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage startvm kubenode1 --type headless +trainee@gateway:~$ helm search hub mysql 
-Waiting for VM "kubenode1" to power on... +URL                                                     CHART VERSION   APP VERSION             DESCRIPTION                                        
-VM "kubenode1" has been successfully started.+https://artifacthub.io/packages/helm/mysql/mysql        2.1.3           8.0.26                  deploy mysql standalone or group-replication He... 
 +https://artifacthub.io/packages/helm/kubegems/m...      8.9.6           8.0.29                  MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/bitnami-ak...      9.4.3           8.0.31                  MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/dify-tidb/...      11.1.17         8.4.2                   MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/kubesphere...      1.0.2           5.7.33                  High Availability MySQL Cluster, Open Source.      
 +https://artifacthub.io/packages/helm/ygqygq2/mysql      9.5.0           8.0.32                  MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/cloudnativ...      5.0.1           8.0.16                  Chart to create a Highly available MySQL cluster   
 +https://artifacthub.io/packages/helm/warjiang/m...      9.10.5          8.0.33                  MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/stakater/m...      1.0.6                                   mysql chart that runs on kubernetes                
 +https://artifacthub.io/packages/helm/choerodon/...      8.5.1           8.5.1                   Chart to create a Highly available MySQL cluster   
 +https://artifacthub.io/packages/helm/saber/mysql        8.8.21          8.0.27                  Chart to create a Highly available MySQL cluster   
 +https://artifacthub.io/packages/helm/groundhog2...      3.0.1           8.4.3                   A Helm chart for MySQL on Kubernetes               
 +https://artifacthub.io/packages/helm/bitnami/mysql      12.2.0          8.4.3                   MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/kvalitetsi...      9.10.4          8.0.33                  MySQL is a fast, reliable, scalable, and easy t... 
 +https://artifacthub.io/packages/helm/druid-helm...      1.6.4           5.7.30                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/devopspilo...      1.0.0           1.0.0                   Helm chart for running mysql database              
 +https://artifacthub.io/packages/helm/gengxianku...      0.2.0           1.16.0                  MySQL is an open-source relational database man... 
 +https://artifacthub.io/packages/helm/t3n/mysql          1.0.0           5.7.32                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/helmcourse...      0.2.4           5.7                     MySQL packaged in Rajware Helm course              
 +https://artifacthub.io/packages/helm/ot-contain...      0.1.0           1.16.0                  A Helm chart for Kubernetes to deploy mysql.       
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   5.7.44                  MySQL is a widely used, open-source relational ... 
 +https://artifacthub.io/packages/helm/someblackm...      1.7.1           5.7.33                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/kubesphere...      1.6.8           5.7.31                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/kubegemsap...      4.5.2           5.7.26                  Chart to create a Highly available MySQL cluster   
 +https://artifacthub.io/packages/helm/wso2/mysql         1.6.9           5.7.30                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/homeenterp...      0.5.0           8.0.29                  MySQL Database Server                              
 +https://artifacthub.io/packages/helm/helm-chart...      1.0.0           5.7.26                  Chart to create a Highly available MySQL cluster   
 +https://artifacthub.io/packages/helm/anvibo/mysql       0.1.0           1.16.0                  A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/huangcheng...      0.1.0           1.16.0                  A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/mysql-oper...      2.2.2           9.1.0                   MySQL InnoDB Cluster Helm Chart for deploying M... 
 +https://artifacthub.io/packages/helm/mysql-oper...      2.2.2           9.1.0-2.2.2             MySQL Operator Helm Chart for deploying MySQL I... 
 +https://artifacthub.io/packages/helm/softonic/m...      2.2.3           0.3.0                   Take mysql backups from any mysql instance to A... 
 +https://artifacthub.io/packages/helm/kfirfer/my...      0.0.4           8.0.20                  A Helm chart for MySQL Cluster                     
 +https://artifacthub.io/packages/helm/wordpress-...      1.0.0           1.1                     This is a package for configuring wordpress and... 
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   8.0.30                  ApeCloud MySQL is a database that is compatible... 
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   8.0.33                  MySQL is a widely used, open-source relational ... 
 +https://artifacthub.io/packages/helm/bitpoke/my...      0.6.3           v0.6.3                  A Helm chart for easy deployment of a MySQL clu... 
 +https://artifacthub.io/packages/helm/bitpoke/my...      0.6.3           v0.6.3                  A helm chart for Bitpoke Operator for MySQL        
 +https://artifacthub.io/packages/helm/stakater/m...      1.0.6                                   mysql-storage chart that runs on kubernetes        
 +https://artifacthub.io/packages/helm/kubesphere...      1.0.1           5.7.33                  High Availability MySQL Cluster, Open Source.      
 +https://artifacthub.io/packages/helm/appscode/s...      8.0.21          8.0.21                  stash-mysql - MySQL database plugin for Stash b... 
 +https://artifacthub.io/packages/helm/wordpressm...      1.0.0                                   This is the Helm Chart that creates the Wordpre... 
 +https://artifacthub.io/packages/helm/kubeblocks...      0.5.3           8.0.30                  ApeCloud MySQL-Scale is ApeCloud MySQL proxy. A... 
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   8.0.30                  ApeCloud MySQL is a database that is compatible... 
 +https://artifacthub.io/packages/helm/kube-wordp...      0.1.0           0.0.1-alpha             Helm Chart for Wordpress installation on MySQL ... 
 +https://artifacthub.io/packages/helm/debeando/a...      0.10.0          0.6.0                   A Helm chart for DeBeAndo Agent for MySQL          
 +https://artifacthub.io/packages/helm/appscode/m...      2024.12.18      v0.3.0                  A Helm chart for MySQL Alert by AppsCode           
 +https://artifacthub.io/packages/helm/wso2/mysql-am      4.2.0-1         5.7                     A Helm chart for MySQL based deployment of WSO2... 
 +https://artifacthub.io/packages/helm/choerodon/...      1.0.0           5.7                     mysql client                                       
 +https://artifacthub.io/packages/helm/kubesphere...      0.5.6           v0.11.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/openshift/...      0.0.1           0.0.1                   This content is expermental, do not use it in p... 
 +https://artifacthub.io/packages/helm/wso2is-pat...      5.11.0-2        5.7                     A Helm chart for MySQL based deployment of WSO2... 
 +https://artifacthub.io/packages/helm/wso2/mysql-is      5.11.0-5        5.7                     A Helm chart for MySQL based deployment of WSO2... 
 +https://artifacthub.io/packages/helm/wso2/mysql-ob      1.5.0-1         5.7                     A Helm chart for MySQL based deployment of WSO2... 
 +https://artifacthub.io/packages/helm/banzaiclou...      0.1.0           0.2.0                   A Helm chart for deploying the Oracle MySQL Ope... 
 +https://artifacthub.io/packages/helm/grdscloud/...      0.1.0           1.0.0                   A MySQL Database Operator Helm chart for Kubern... 
 +https://artifacthub.io/packages/helm/openshift/...      0.0.4           0.0.4                   This content is expermental, do not use it in p... 
 +https://artifacthub.io/packages/helm/openshift/...      0.1.0           0.1.0                   A Helm chart for MySQL Service Endpoint Definit... 
 +https://artifacthub.io/packages/helm/ygqygq2/my...      1.0.0           5.7.24                  A Helm chart servicemonitor for mysql exporter     
 +https://artifacthub.io/packages/helm/kubeblocks...      0.9.0           8.0.32                  MySQL is a widely used, open-source relational ... 
 +https://artifacthub.io/packages/helm/kubeblocks...      0.8.0           8.0.32                  MySQL is a widely used, open-source relational ... 
 +https://artifacthub.io/packages/helm/wener/prom...      2.8.0           v0.16.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/banzaiclou...      0.2.4           v0.11.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/prometheus...      1.0.1           v0.12.1                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/prometheus...      2.8.0           v0.16.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/kubegemsap...      1.8.1           v0.12.1                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/cloudnativ...      0.3.2           v0.11.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/braedon/pr...      0.2.0                                   Run queries on Mysql and export the results as ... 
 +https://artifacthub.io/packages/helm/wenerme/pr...      2.8.0           v0.16.0                 A Helm chart for prometheus mysql exporter with... 
 +https://artifacthub.io/packages/helm/openshift/...      0.0.2           0.0.2                   This content is experimental, do not use it in ... 
 +https://artifacthub.io/packages/helm/bytebuilde...      2021.3.11       v2021.03.11             Stash MySQL Addon Community                        
 +https://artifacthub.io/packages/helm/fermosit/z...      3.0.2           6.4.0-latest            Zabbix monitoring server                           
 +https://artifacthub.io/packages/helm/kubeblocks...      0.5.3           8.0.30                  An ApeCloud MySQL-Scale Cluster Helm chart for ... 
 +https://artifacthub.io/packages/helm/clusterped...      0.1.1           v0.6.0                  A Helm chart for Clusterpedia                      
 +https://artifacthub.io/packages/helm/t3n/mysql-...      2.1.0                                                                                      
 +https://artifacthub.io/packages/helm/kfirfer/my...      0.3.0           0.0.4                   A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/wso2/mysql-ei      6.6.0-3         5.7                     A Helm chart for WSO2 Enterprise Integrator Dat... 
 +https://artifacthub.io/packages/helm/sikalabs/w...      0.1.2                                                                                      
 +https://artifacthub.io/packages/helm/choerodon/...      0.1.0           1.0                     A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/phppgadmin...      0.1.0                                   A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/azure-samp...      0.1.0                                   A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/mysql-ndb-...      1.6.0           9.1.0-1.6.0             A Helm chart for deploying the Oracle MySQL NDB... 
 +https://artifacthub.io/packages/helm/sonu-wordp...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/bitnami-ak...      10.3.6          5.2.0                   phpMyAdmin is a free software tool written in P... 
 +https://artifacthub.io/packages/helm/bitnami/ph...      18.1.0          5.2.1                   phpMyAdmin is a free software tool written in P... 
 +https://artifacthub.io/packages/helm/paradeum-t...      0.1.9           4.8.1                   Adminer is a full-featured database management ... 
 +https://artifacthub.io/packages/helm/cetic/adminer      0.2.1           4.8.1                   Adminer is a full-featured database management ... 
 +https://artifacthub.io/packages/helm/startechni...      0.1.8           4.8.1                   Adminer is a full-featured database management ... 
 +https://artifacthub.io/packages/helm/inspur/dble        0.0.2           2.19.09                 DBLE is a high scalability middle-ware for MySQ... 
 +https://artifacthub.io/packages/helm/wordpress-...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/cloudnativ...      2.4.0           2.4.0                   A Helm chart to help backup MySQL databases usi... 
 +https://artifacthub.io/packages/helm/kfirfer/my...      2.8.0           1.0.3                   A Helm chart to help backup MySQL databases usi... 
 +https://artifacthub.io/packages/helm/kokuwa/mys...      6.4.0           v3.2.0                  A Helm chart to help backup MySQL databases usi... 
 +https://artifacthub.io/packages/helm/cloudnativ...      0.5.1           5.7.13                  MySQL cluster with a single master and zero or ... 
 +https://artifacthub.io/packages/helm/cloudnativ...      1.0.0           5.7.17                  free, fully compatible, enhanced, open source d... 
 +https://artifacthub.io/packages/helm/cloudnativ...      1.0.0           5.7.19                  free, fully compatible, enhanced, open source d... 
 +https://artifacthub.io/packages/helm/kfirfer/pe...      1.5.10          8.0.32-24.2             free, fully compatible, enhanced, open source d... 
 +https://artifacthub.io/packages/helm/someblackm...      6.5.2           5.0.2                   phpMyAdmin is an mysql administration frontend     
 +https://artifacthub.io/packages/helm/percona/ps...      0.8.0           0.8.0                   A Helm chart for Deploying the Percona Operator... 
 +https://artifacthub.io/packages/helm/wordpress-...      0.1.0           1.1                     this is chart create the wordpress with suitabl... 
 +https://artifacthub.io/packages/helm/kubesphere...      1.0.0           5.7.33                  XenonDB is a High-Availability MySQL cluster, o... 
 +https://artifacthub.io/packages/helm/evolves/ba...      0.6.1           0.6.1                   Backup is an open-source backup tools written i... 
 +https://artifacthub.io/packages/helm/schmitzis/...      0.1.1           21.12                   Wiki application made by Bookstack and MySQL       
 +https://artifacthub.io/packages/helm/xxl-job-ad...      0.1.2           1.1.6                   Canal Server is capable of parsing MySQL binlog... 
 +https://artifacthub.io/packages/helm/t3n/clouds...      2.0.3           1.16                    Google Cloud SQL Proxy                             
 +https://artifacthub.io/packages/helm/makaira/co...      1.3.0           1.0.0                   Copy a MySQL or MariaDB database from one serve... 
 +https://artifacthub.io/packages/helm/helmcourse...      0.3.3           adminer: 4.7,mysql: 5.7 Adminer front-end, MySQL backend packaged in Ra... 
 +https://artifacthub.io/packages/helm/djjudas21/...      0.0.16          0.0.9                   A Helm chart to help backup SQL databases using... 
 +https://artifacthub.io/packages/helm/db-operato...      1.30.0          2.10.0                  The DB Operator creates databases and make them... 
 +https://artifacthub.io/packages/helm/ju4t/django        0.1.0           4.1.4                   Django是一个有期限的完美主义者网络框架!           
 +https://artifacthub.io/packages/helm/edgelesssy...      0.3.2           v0.3.2                  EdgelessDB is a MySQL-compatible database for c... 
 +https://artifacthub.io/packages/helm/monosql-op...      2.0.0           2.0.0                   A Helm chart for deploying Monograph Operator t... 
 +https://artifacthub.io/packages/helm/sqream-cha...      0.6.0           1.16.0                  A Helm chart for accessing managed redis & mysql   
 +https://artifacthub.io/packages/helm/featurehub...      4.1.4           1.8.0                   FeatueHub is an Enterprise Grade, Cloud Native ... 
 +https://artifacthub.io/packages/helm/sqream-cha...      0.6.2           1.16.0                  Helm chart for Flows service, part of java back... 
 +https://artifacthub.io/packages/helm/kubeblocks...      0.9.0           0.2.0                   ApeCloud FoxLake is a fast & low-cost analytica... 
 +https://artifacthub.io/packages/helm/startechni...      1.0.1           3.2.3                   FreeRADIUS is a modular, high performance free ... 
 +https://artifacthub.io/packages/helm/getindata/...      0.20.5          1.16                    Google Cloud SQL Proxy                             
 +https://artifacthub.io/packages/helm/rimusz/gcl...      0.25.6          2.6.0                   Google Cloud SQL Proxy                             
 +https://artifacthub.io/packages/helm/datarepo/g...      0.19.13         1.17                    Google Cloud SQL Proxy                             
 +https://artifacthub.io/packages/helm/ibm-charts...      1.1.0                                   Galera Cluster is a multi-master solution for M... 
 +https://artifacthub.io/packages/helm/ibm-charts...      1.1.2                                   MariaDB is developed as open source software an... 
 +https://artifacthub.io/packages/helm/cloudposse...      0.1.4                                   A Helm chart for Linux, Apache, MySQL, PHP (aka... 
 +https://artifacthub.io/packages/helm/login-test...      0.1.0           1.0.0                   A Helm chart for login_test_backend with MySQL ... 
 +https://artifacthub.io/packages/helm/bitnami/ma...      20.2.1          11.4.4                  MariaDB is an open source, community-developed ... 
 +https://artifacthub.io/packages/helm/riftbit/ma...      9.6.0           10.5.12                 Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/cloudnativ...      6.1.0           10.3.15                 Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/camptocamp...      1.0.0                                   Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/bitnami-ak...      11.4.0          10.6.11                 MariaDB is an open source, community-developed ... 
 +https://artifacthub.io/packages/helm/kvalitetsi...      11.2.2          10.6.9                  MariaDB is an open source, community-developed ... 
 +https://artifacthub.io/packages/helm/petersando...      15.2.5          11.4.3                  Fast, reliable, scalable, and easy to use open-... 
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   10.6.15                 MariaDB is an open-source relational database m... 
 +https://artifacthub.io/packages/helm/kvalitetsi...      7.4.1           10.6.9                  MariaDB Galera is a multi-primary database clus... 
 +https://artifacthub.io/packages/helm/smo-helm-c...      6.0.0                                   Chart for MariaDB Galera cluster                   
 +https://artifacthub.io/packages/helm/bitnami/ma...      14.1.0          11.4.4                  MariaDB Galera is a multi-primary database clus... 
 +https://artifacthub.io/packages/helm/bitnami-ak...      7.4.7           10.6.10                 MariaDB Galera is a multi-primary database clus... 
 +https://artifacthub.io/packages/helm/appuio/mar...      1.2.6           10.5.12                 MariaDB Galera is a multi-master database clust... 
 +https://artifacthub.io/packages/helm/riftbit/ma...      5.13.5          10.5.12                 MariaDB Galera is a multi-master database clust... 
 +https://artifacthub.io/packages/helm/mariadb-op...      0.36.0          0.36.0                  Run and operate MariaDB in a cloud native way      
 +https://artifacthub.io/packages/helm/mariadb-op...      0.36.0          0.0.0                   mariadb-operator CRDs                              
 +https://artifacthub.io/packages/helm/moco/moco          0.15.1          0.25.1                  MySQL operator on Kubernetes using GTID-based s... 
 +https://artifacthub.io/packages/helm/sqream-cha...      0.7.1           1.16.0                  Helm chart for monitor service, part of java ba... 
 +https://artifacthub.io/packages/helm/monosql-op...      1.0.5           1.0.4                   A Helm chart for deploying Monograph Operator t... 
 +https://artifacthub.io/packages/helm/viveksahu2...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/mysql2s3bk...      0.1.0           alpha                   MySQL database JOBS                                
 +https://artifacthub.io/packages/helm/kubeblocks...      3.2.6           3.2.6                   Orchestrator is a MySQL high availability and r... 
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   3.2.6                   orchestrator                                       
 +https://artifacthub.io/packages/helm/christianh...      1.13.2                                  A Helm chart to deploy Passbolt with MySQL and ... 
 +https://artifacthub.io/packages/helm/vquie/phpipam      1.0.3           1.5.2                   phpipam is an open-source web IP address manage... 
 +https://artifacthub.io/packages/helm/fsdrw08/po...      0.1.3           4.5.3                   PowerDNS all in one (powerdns + powerdns-admin ... 
 +https://artifacthub.io/packages/helm/percona/px...      1.16.0          1.16.0                  A Helm chart for deploying the Percona Operator... 
 +https://artifacthub.io/packages/helm/kubesphere...      0.1.0           5.7_1.0.1               A Helm chart for Kubernetes to run StoneDB stan... 
 +https://artifacthub.io/packages/helm/stonedb/st...      0.1.0           5.7_1.0.1               A Helm chart for Kubernetes to run StoneDB         
 +https://artifacthub.io/packages/helm/banzaiclou...      0.0.2                                   A TiDB Helm chart for Kubernetes                   
 +https://artifacthub.io/packages/helm/kubeblocks...      1.0.0-alpha.0   v7.1.5                  TiDB is an open-source, cloud-native, distribut... 
 +https://artifacthub.io/packages/helm/webapp-db-...      0.1.0           1.0                     Java frontend with a MySQL backend                 
 +https://artifacthub.io/packages/helm/sikademo/w...      2020.11.18                              Example Wordpress Chart (with MySQL)               
 +https://artifacthub.io/packages/helm/wordpressm...      0.1.0           1.1                                                                        
 +https://artifacthub.io/packages/helm/rock8s/xtradb      1.12.0          0.71.0                  enterprise MySQL                                   
 +https://artifacthub.io/packages/helm/xxl-job-ad...      0.2.3           v3.1.8                  🐳 A most popular sql audit platform for mysql 
 </code> </code>
  
-Pour lancer la machine **kubenode2**, utilisez la commande suivante à partir de votre serveur dédié :+<WRAP center round important 60%> 
 +**Important** : Notez que la chaîne recherchée peut se retrouver dans l'URL aussi bien que dans la description. 
 +</WRAP> 
 + 
 +Recherchez maintenant le Chart **WordPress**. Par défautles colonnes plus large que 50 caractères sont tronquées :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage startvm kubenode2 --type headless +trainee@gateway:~$ helm search hub wordpress 
-Waiting for VM "kubenode2" to power on... +URL                                                     CHART VERSION   APP VERSION             DESCRIPTION                                        
-VM "kubenode2" has been successfully started.+https://artifacthub.io/packages/helm/kube-wordp...      0.1.0           1.1                     this is my wordpress package                       
 +https://artifacthub.io/packages/helm/wordpress-...      1.0.2           1.0.0                   A Helm chart for deploying Wordpress+Mariadb st... 
 +https://artifacthub.io/packages/helm/shubham-wo...      0.1.0           1.16.0                  A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/bitnami-ak...      15.2.13         6.1.0                   WordPress is the world's most popular blogging ... 
 +https://artifacthub.io/packages/helm/bitnami/wo...      24.1.5          6.7.1                   WordPress is the world's most popular blogging ... 
 +https://artifacthub.io/packages/helm/sikalabs/w...      0.2.0                                   Simple Wordpress                                   
 +https://artifacthub.io/packages/helm/riftbit/wo...      12.1.16         5.8.1                   Web publishing platform for building blogs and ... 
 +https://artifacthub.io/packages/helm/schichtel/...      0.7.1           6.6.1                   A Helm chart for WordPress                         
 +https://artifacthub.io/packages/helm/skywordpre...      0.1.0           1.16.0                  A Helm chart for WordPress                         
 +https://artifacthub.io/packages/helm/rock8s/wor...      0.12.4          v0.12.4                 An open source content management system           
 +https://artifacthub.io/packages/helm/sikademo/w...      2020.11.18                              Example Wordpress Chart (with MySQL)               
 +https://artifacthub.io/packages/helm/groundhog2...      0.13.0          6.7.1-apache            A Helm chart for Wordpress on Kubernetes           
 +https://artifacthub.io/packages/helm/devops/wor...      0.12.0          1.16.0                  Wordpress helm chart                               
 +https://artifacthub.io/packages/helm/camptocamp...      0.6.10          4.8.1                   Web publishing platform for building blogs and ... 
 +https://artifacthub.io/packages/helm/homeenterp...      0.5.0           5.9.3-php8.1-apache     Blog server                                        
 +https://artifacthub.io/packages/helm/mcouliba/w...      0.1.0           1.16.0                  A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/wordpress-...      6.1.1-3.0rc5    master                  Lightweight Wordpress installation with additio... 
 +https://artifacthub.io/packages/helm/wordpress-...      1.0.0           1.1                     This is a package for configuring wordpress and... 
 +https://artifacthub.io/packages/helm/securecode...      4.11.0          4.0                     Insecure & Outdated Wordpress Instance: Never e... 
 +https://artifacthub.io/packages/helm/wordpressm...      1.0.0                                   This is the Helm Chart that creates the Wordpre... 
 +https://artifacthub.io/packages/helm/bitpoke/wo...      0.12.4          v0.12.4                 Bitpoke WordPress Operator Helm Chart              
 +https://artifacthub.io/packages/helm/bitpoke/wo...      0.12.4          v0.12.4                 Helm chart for deploying a WordPress site on Bi... 
 +https://artifacthub.io/packages/helm/kube-wordp...      0.1.0           0.0.1-alpha             Helm Chart for Wordpress installation on MySQL ... 
 +https://artifacthub.io/packages/helm/riotkit-or...      2.1.0-alpha4    v2.1-alpha4             Lightweight Wordpress installation with additio... 
 +https://artifacthub.io/packages/helm/phntom/bin...      0.0.4           0.0.3                   www.binaryvision.co.il static wordpress            
 +https://artifacthub.io/packages/helm/gh-shessel...      2.1.12          6.1.1                   Web publishing platform for building blogs and ... 
 +https://artifacthub.io/packages/helm/rock8s/wor...      6.7.1                                                                                      
 +https://artifacthub.io/packages/helm/sikalabs/w...      0.1.2                                                                                      
 +https://artifacthub.io/packages/helm/gh-shessel...      6.3.1           6.3.1                   Web publishing platform for building blogs and ... 
 +https://artifacthub.io/packages/helm/wordpressh...      0.1.0           1.16.0                  A Helm chart for Kubernetes                        
 +https://artifacthub.io/packages/helm/wordpress-...      0.1.0           1.1                     this is chart create the wordpress with suitabl... 
 +https://artifacthub.io/packages/helm/wordpress-...      0.0.1                                   Helm Chart for wordpress-gatsby                    
 +https://artifacthub.io/packages/helm/bitpoke/bi...      1.8.18          1.8.18                  The Bitpoke App for WordPress provides a versat... 
 +https://artifacthub.io/packages/helm/sonu-wordp...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/wordpress/...      0.2.0           1.1.0                   Wordpress for Kubernetes                           
 +https://artifacthub.io/packages/helm/uvaise-wor...      0.2.0           1.1.0                   Wordpress for Kubernetes                           
 +https://artifacthub.io/packages/helm/wordpress-...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/bitpoke/stack      0.12.4          v0.12.4                 Your Open-Source, Cloud-Native WordPress Infras... 
 +https://artifacthub.io/packages/helm/securecode...      4.11.0          v3.8.27                 A Helm chart for the WordPress security scanner... 
 +https://artifacthub.io/packages/helm/wordpresss...      1.1.0           5.8.2                   Web publishing platform for building blogs and ... 
 +https://artifacthub.io/packages/helm/viveksahu2...      1.0.0                                 This is my custom chart to deploy wordpress and... 
 +https://artifacthub.io/packages/helm/six/wordress       0.2.0           1.1.0                   Wordpress for Kubernetes                           
 +https://artifacthub.io/packages/helm/jinchi-cha...      0.2.0           1.1.0                   Wordpress for Kubernetes                           
 +https://artifacthub.io/packages/helm/projet-dev...      0.1.0           1.16.0                  A Helm chart for wordpress deployed on Azure Ku... 
 +https://artifacthub.io/packages/helm/wordpressm...      0.1.0           1.1   
 </code> </code>
  
-====1.4 Connexion à la Machine Virtuelle kubemaster==== +Pour visualiser l'ensemble de chaque ligne,  utilisez l'option **--max-col-width=0** :
- +
-Tapez la commande suivante pour vous connecter à la machine **kubemaster** :+
  
 <code> <code>
-desktop@serverXX:~$ ssh -l trainee 192.168.56.2+trainee@gateway:~$ helm search hub wordpress  --max-col-width=0 
 +URL                                                                             CHART VERSION   APP VERSION             DESCRIPTION                                                                                                                                                                                        
 +https://artifacthub.io/packages/helm/kube-wordpress/wordpress                   0.1.0           1.1                     this is my wordpress package                                                                                                                                                                       
 +https://artifacthub.io/packages/helm/wordpress-mariadb/wordpress                1.0.2           1.0.0                   A Helm chart for deploying Wordpress+Mariadb stack on kubernetes.                                                                                                                                  
 +https://artifacthub.io/packages/helm/shubham-wordpress/wordpress                0.1.0           1.16.0                  A Helm chart for Kubernetes                                                                                                                                                                        
 +https://artifacthub.io/packages/helm/bitnami-aks/wordpress                      15.2.13         6.1.0                   WordPress is the world's most popular blogging and content management platform. Powerful yet simple, everyone from students to global corporations use it to build beautiful, functional websites. 
 +https://artifacthub.io/packages/helm/bitnami/wordpress                          24.1.5          6.7.1                   WordPress is the world's most popular blogging and content management platform. Powerful yet simple, everyone from students to global corporations use it to build beautiful, functional websites. 
 +https://artifacthub.io/packages/helm/sikalabs/wordpress                         0.2.0                                   Simple Wordpress                                                                                                                                                                                   
 +https://artifacthub.io/packages/helm/riftbit/wordpress                          12.1.16         5.8.1                   Web publishing platform for building blogs and websites.                                                                                                                                           
 +https://artifacthub.io/packages/helm/schichtel/wordpress                        0.7.1           6.6.1                   A Helm chart for WordPress                                                                                                                                                                         
 +https://artifacthub.io/packages/helm/skywordpress/wordpress                     0.1.0           1.16.0                  A Helm chart for WordPress                                                                                                                                                                         
 +https://artifacthub.io/packages/helm/rock8s/wordpress                           0.12.4          v0.12.4                 An open source content management system                                                                                                                                                           
 +https://artifacthub.io/packages/helm/sikademo/wordpress                         2020.11.18                              Example Wordpress Chart (with MySQL)                                                                                                                                                               
 +https://artifacthub.io/packages/helm/groundhog2k/wordpress                      0.13.0          6.7.1-apache            A Helm chart for Wordpress on Kubernetes                                                                                                                                                           
 +https://artifacthub.io/packages/helm/devops/wordpress                           0.12.0          1.16.0                  Wordpress helm chart                                                                                                                                                                               
 +https://artifacthub.io/packages/helm/camptocamp3/wordpress                      0.6.10          4.8.1                   Web publishing platform for building blogs and websites.                                                                                                                                           
 +https://artifacthub.io/packages/helm/homeenterpriseinc/wordpress                0.5.0           5.9.3-php8.1-apache     Blog server                                                                                                                                                                                        
 +https://artifacthub.io/packages/helm/mcouliba/wordpress                         0.1.0           1.16.0                  A Helm chart for Kubernetes                                                                                                                                                                        
 +https://artifacthub.io/packages/helm/wordpress-hardened/wordpress-hardened      6.1.1-3.0rc5    master                  Lightweight Wordpress installation with additional security fixes                                                                                                                                  
 +https://artifacthub.io/packages/helm/wordpress-mysql-1/wordpress-mysql          1.0.0           1.1                     This is a package for configuring wordpress and mysql on kubertes automatically                                                                                                                    
 +https://artifacthub.io/packages/helm/securecodebox/old-wordpress                4.11.0          4.0                     Insecure & Outdated Wordpress Instance: Never expose it to the internet!                                                                                                                           
 +https://artifacthub.io/packages/helm/wordpressmysql/wordpress-mysql             1.0.0                                   This is the Helm Chart that creates the Wordpress and MySQL service with dynamic parameters                                                                                                        
 +https://artifacthub.io/packages/helm/bitpoke/wordpress-operator                 0.12.4          v0.12.4                 Bitpoke WordPress Operator Helm Chart                                                                                                                                                              
 +https://artifacthub.io/packages/helm/bitpoke/wordpress-site                     0.12.4          v0.12.4                 Helm chart for deploying a WordPress site on Bitpoke Stack                                                                                                                                         
 +https://artifacthub.io/packages/helm/kube-wordpress-mysql/kube-wordpress-mysql  0.1.0           0.0.1-alpha             Helm Chart for Wordpress installation on MySQL database                                                                                                                                            
 +https://artifacthub.io/packages/helm/riotkit-org/wordpress-hardened             2.1.0-alpha4    v2.1-alpha4             Lightweight Wordpress installation with additional security fixes                                                                                                                                  
 +https://artifacthub.io/packages/helm/phntom/binaryvision-static-wordpress       0.0.4           0.0.3                   www.binaryvision.co.il static wordpress                                                                                                                                                            
 +https://artifacthub.io/packages/helm/gh-shesselink81-public/wordpress-apache    2.1.12          6.1.1                   Web publishing platform for building blogs and websites.                                                                                                                                           
 +https://artifacthub.io/packages/helm/rock8s/wordpress-crds                      6.7.1                                                                                                                                                                                                                                      
 +https://artifacthub.io/packages/helm/sikalabs/wordpress-mysql                   0.1.2                                                                                                                                                                                                                                      
 +https://artifacthub.io/packages/helm/gh-shesselink81-public/wordpress-nginx     6.3.1           6.3.1                   Web publishing platform for building blogs and websites.                                                                                                                                           
 +https://artifacthub.io/packages/helm/wordpresshelmchart/wordpress-helm-chart    0.1.0           1.16.0                  A Helm chart for Kubernetes                                                                                                                                                                        
 +https://artifacthub.io/packages/helm/wordpress-mysql/wordpressmysqlenv          0.1.0           1.1                     this is chart create the wordpress with suitable wordpress                                                                                                                                         
 +https://artifacthub.io/packages/helm/wordpress-gatsby/wp-gats-helm              0.0.1                                   Helm Chart for wordpress-gatsby                                                                                                                                                                    
 +https://artifacthub.io/packages/helm/bitpoke/bitpoke                            1.8.18          1.8.18                  The Bitpoke App for WordPress provides a versatile dashboard to create, deploy, scale, manage and monitor WordPress sites in a Kubernetes cluster.                                                 
 +https://artifacthub.io/packages/helm/sonu-wordpress-mysql/mychart               1.0.0                                 This is my custom chart to deploy wordpress and mysql                                                                                                                                              
 +https://artifacthub.io/packages/helm/wordpress/wordress                         0.2.0           1.1.0                   Wordpress for Kubernetes                                                                                                                                                                           
 +https://artifacthub.io/packages/helm/uvaise-wordpress/wordress                  0.2.0           1.1.0                   Wordpress for Kubernetes                                                                                                                                                                           
 +https://artifacthub.io/packages/helm/wordpress-mysql-helm-chart/mychart         1.0.0                                 This is my custom chart to deploy wordpress and mysql                                                                                                                                              
 +https://artifacthub.io/packages/helm/bitpoke/stack                              0.12.4          v0.12.4                 Your Open-Source, Cloud-Native WordPress Infrastructure                                                                                                                                            
 +https://artifacthub.io/packages/helm/securecodebox/wpscan                       4.11.0          v3.8.27                 A Helm chart for the WordPress security scanner that integrates with the secureCodeBox.                                                                                                            
 +https://artifacthub.io/packages/helm/wordpressss-app/app                        1.1.0           5.8.2                   Web publishing platform for building blogs and websites.                                                                                                                                           
 +https://artifacthub.io/packages/helm/viveksahu26/mychart                        1.0.0                                 This is my custom chart to deploy wordpress and mysql                                                                                                                                              
 +https://artifacthub.io/packages/helm/six/wordress                               0.2.0           1.1.0                   Wordpress for Kubernetes                                                                                                                                                                           
 +https://artifacthub.io/packages/helm/jinchi-chart/wordress                      0.2.0           1.1.0                   Wordpress for Kubernetes                                                                                                                                                                           
 +https://artifacthub.io/packages/helm/projet-devops/wp-chart                     0.1.0           1.16.0                  A Helm chart for wordpress deployed on Azure Kubernete service                                                                                                                                     
 +https://artifacthub.io/packages/helm/wordpressmysqlapp/wpmysql                  0.1.0           1.1  
 </code> </code>
  
-====1.5 - Tester le Réseau==== +Il est aussi possible d'obtenir la sortie au format YAML :
- +
-Vérifiez la connectivité de chaque machine virtuelle :+
  
 <code> <code>
-trainee@kubemaster:~$ ping -c 4 192.168.56.3 +trainee@gateway:~$ helm search hub wordpress --output yaml | more 
-PING 192.168.56.3 (192.168.56.3) 56(84) bytes of data+- app_version: "1.1" 
-64 bytes from 192.168.56.3icmp_seq=ttl=64 time=0.762 ms +  description: this is my wordpress package 
-64 bytes from 192.168.56.3icmp_seq=ttl=64 time=0.765 ms +  repository: 
-64 bytes from 192.168.56.3icmp_seq=3 ttl=64 time=0.819 ms +    name: kube-wordpress 
-64 bytes from 192.168.56.3icmp_seq=4 ttl=64 time=0.682 ms+    url: https://harsh-del.github.io/wordpress-charts/charts/ 
 +  url: https://artifacthub.io/packages/helm/kube-wordpress/wordpress 
 +  version: 0.1.
 +- app_version: 1.0.
 +  description: A Helm chart for deploying Wordpress+Mariadb stack on kubernetes. 
 +  repository: 
 +    name: wordpress-mariadb 
 +    url: https://noor-muradi.github.io/Wordpress/ 
 +  url: https://artifacthub.io/packages/helm/wordpress-mariadb/wordpress 
 +  version: 1.0.
 +- app_version: 1.16.0 
 +  description: A Helm chart for Kubernetes 
 +  repository: 
 +    name: shubham-wordpress 
 +    url: https://shubhambhardwaj007.github.io/Kubernetes-helm-chart/ 
 +  url: https://artifacthub.io/packages/helm/shubham-wordpress/wordpress 
 +  version: 0.1.0 
 +- app_version: 6.1.0 
 +  description: WordPress is the world's most popular blogging and content management 
 +    platform. Powerful yet simple, everyone from students to global corporations use 
 +    it to build beautiful, functional websites. 
 +  repository: 
 +    name: bitnami-aks 
 +    url: https://marketplace.azurecr.io/helm/v1/repo 
 +  urlhttps://artifacthub.io/packages/helm/bitnami-aks/wordpress 
 +  version: 15.2.13 
 +- app_version: 6.7.1 
 +  description: WordPress is the world's most popular blogging and content management 
 +    platform. Powerful yet simple, everyone from students to global corporations use 
 +    it to build beautiful, functional websites. 
 +  repository: 
 +    name: bitnami 
 +    url: https://charts.bitnami.com/bitnami 
 +  urlhttps://artifacthub.io/packages/helm/bitnami/wordpress 
 +  version: 24.1.
 +- app_version: "" 
 +  description: Simple Wordpress 
 +  repository: 
 +    name: sikalabs 
 +    url: https://helm.sikalabs.io 
 +  url: https://artifacthub.io/packages/helm/sikalabs/wordpress 
 +  version: 0.2.0 
 +- app_version: 5.8.1 
 +  description: Web publishing platform for building blogs and websites. 
 +  repository: 
 +    name: riftbit 
 +    url: https://charts.riftbit.com/ 
 +  url: https://artifacthub.io/packages/helm/riftbit/wordpress 
 +  version: 12.1.16 
 +- app_version: 6.6.1 
 +  description: A Helm chart for WordPress 
 +  repository: 
 +    name: schichtel 
 +    url: https://schich.tel/helm-charts 
 +--More-- 
 +</code>
  
---- 192.168.56.3 ping statistics --- +====1.3 - Rechercher dans le Helm Hub====
-4 packets transmitted, 4 received, 0% packet loss, time 3006ms +
-rtt min/avg/max/mdev 0.682/0.757/0.819/0.048 ms +
-trainee@kubemaster:~$ ping -c 4 192.168.56.4 +
-PING 192.168.56.4 (192.168.56.4) 56(84) bytes of data. +
-64 bytes from 192.168.56.4: icmp_seq=1 ttl=64 time=1.26 ms +
-64 bytes from 192.168.56.4: icmp_seq=2 ttl=64 time=0.710 ms +
-64 bytes from 192.168.56.4: icmp_seq=ttl=64 time=0.684 ms +
-64 bytes from 192.168.56.4: icmp_seq=4 ttl=64 time=0.710 ms+
  
---- 192.168.56.4 ping statistics --- +Rendez-vous ensuite à l'adresse du Hub en utilisant un navigateur Web et recherchez **mysql** :
-4 packets transmitted, 4 received, 0% packet loss, time 3002ms +
-rtt min/avg/max/mdev = 0.684/0.841/1.260/0.242 ms +
-trainee@kubemaster:~$ ping -c 4 www.free.fr +
-PING www.free.fr (212.27.48.10) 56(84) bytes of data. +
-64 bytes from www.free.fr (212.27.48.10): icmp_seq=1 ttl=53 time=64.6 ms +
-64 bytes from www.free.fr (212.27.48.10): icmp_seq=2 ttl=53 time=76.3 ms +
-64 bytes from www.free.fr (212.27.48.10): icmp_seq=3 ttl=53 time=75.3 ms +
-64 bytes from www.free.fr (212.27.48.10)icmp_seq=4 ttl=53 time=87.2 ms+
  
---- www.free.fr ping statistics --- +{{ :elearning:workbooks:kubernetes:helm01.png?nolink&1000 |}}
-4 packets transmitted, 4 received, 0% packet loss, time 3004ms +
-rtt min/avg/max/mdev = 64.674/75.894/87.200/7.975 ms +
-</code>+
  
-====1.6 - Initialisation du Maître du Cluster====+Dans le résultat retourné, cliquez sur **mysql** du dépôt **Bitnami** :
  
-Initialisez le maître du cluster **kubemaster** en spécifiant le CIDR de l'extension réseau **Calico** ainsi que l'adresse IP du maître :+{{ :elearning:workbooks:kubernetes:helm02.png?nolink&1000 |}}
  
-<code> +Vous constaterez des informations conernant ce Chart ainsi que des instructions pour l'installer :
-trainee@kubemaster:~$ su - +
-Mot de passe : fenestros +
-root@kubemaster:~# kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.56.2 +
-W0922 10:24:14.615373    1711 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] +
-[init] Using Kubernetes version: v1.19.2 +
-[preflight] Running pre-flight checks +
-        [WARNING SystemVerification]: missing optional cgroups: hugetlb +
-[preflight] Pulling images required for setting up a Kubernetes cluster +
-[preflight] This might take a minute or two, depending on the speed of your internet connection +
-[preflight] You can also perform this action in beforehand using 'kubeadm config images pull' +
-[certs] Using certificateDir folder "/etc/kubernetes/pki" +
-[certs] Generating "ca" certificate and key +
-[certs] Generating "apiserver" certificate and key +
-[certs] apiserver serving cert is signed for DNS names [kubemaster.ittraining.loc kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.56.2] +
-[certs] Generating "apiserver-kubelet-client" certificate and key +
-[certs] Generating "front-proxy-ca" certificate and key +
-[certs] Generating "front-proxy-client" certificate and key +
-[certs] Generating "etcd/ca" certificate and key +
-[certs] Generating "etcd/server" certificate and key +
-[certs] etcd/server serving cert is signed for DNS names [kubemaster.ittraining.loc localhost] and IPs [192.168.56.2 127.0.0.1 ::1] +
-[certs] Generating "etcd/peer" certificate and key +
-[certs] etcd/peer serving cert is signed for DNS names [kubemaster.ittraining.loc localhost] and IPs [192.168.56.2 127.0.0.1 ::1] +
-[certs] Generating "etcd/healthcheck-client" certificate and key +
-[certs] Generating "apiserver-etcd-client" certificate and key +
-[certs] Generating "sa" key and public key +
-[kubeconfig] Using kubeconfig folder "/etc/kubernetes" +
-[kubeconfig] Writing "admin.conf" kubeconfig file +
-[kubeconfig] Writing "kubelet.conf" kubeconfig file +
-[kubeconfig] Writing "controller-manager.conf" kubeconfig file +
-[kubeconfig] Writing "scheduler.conf" kubeconfig file +
-[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" +
-[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" +
-[kubelet-start] Starting the kubelet +
-[control-plane] Using manifest folder "/etc/kubernetes/manifests" +
-[control-plane] Creating static Pod manifest for "kube-apiserver" +
-[control-plane] Creating static Pod manifest for "kube-controller-manager" +
-[control-plane] Creating static Pod manifest for "kube-scheduler" +
-[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests" +
-[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s +
-[apiclient] All control plane components are healthy after 17.505264 seconds +
-[upload-config] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace +
-[kubelet] Creating a ConfigMap "kubelet-config-1.19" in namespace kube-system with the configuration for the kubelets in the cluster +
-[upload-certs] Skipping phase. Please see --upload-certs +
-[mark-control-plane] Marking the node kubemaster.ittraining.loc as control-plane by adding the label "node-role.kubernetes.io/master=''" +
-[mark-control-plane] Marking the node kubemaster.ittraining.loc as control-plane by adding the taints [node-role.kubernetes.io/master:NoSchedule] +
-[bootstrap-token] Using token: d5hb0g.a45h8d6qczwi3g5w +
-[bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles +
-[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to get nodes +
-[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials +
-[bootstrap-token] configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token +
-[bootstrap-token] configured RBAC rules to allow certificate rotation for all node client certificates in the cluster +
-[bootstrap-token] Creating the "cluster-info" ConfigMap in the "kube-public" namespace +
-[kubelet-finalize] Updating "/etc/kubernetes/kubelet.conf" to point to a rotatable kubelet client certificate and key +
-[addons] Applied essential addon: CoreDNS +
-[addons] Applied essential addonkube-proxy+
  
-Your Kubernetes control-plane has initialized successfully!+{{ :elearning:workbooks:kubernetes:helm03.png?nolink&1000 |}}
  
-To start using your cluster, you need to run the following as a regular user:+====1.4 - Ajouter et supprimer un Dépôt====
  
-  mkdir -p $HOME/.kube +En utilisant les informations prises du Hub, installez maintenant le dépôt **bitnami** :
-  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config +
-  sudo chown $(id -u):$(id -g) $HOME/.kube/config+
  
-You should now deploy a pod network to the cluster. +<code> 
-Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: +trainee@gateway:~$ helm repo add bitnami https://charts.bitnami.com/bitnami 
-  https://kubernetes.io/docs/concepts/cluster-administration/addons/+"bitnami" has been added to your repositories 
 +</code>
  
-Then you can join any number of worker nodes by running the following on each as root:+Pour lister les dépôts installés, utilisez la commande **helm repo list** :
  
-kubeadm join 192.168.56.2:6443 --token d5hb0g.a45h8d6qczwi3g5w \ +<code> 
-    --discovery-token-ca-cert-hash sha256:979365a44435cd3cd9bd364357b6b59d0f759606f2d9de98f121c1b56b3c20b4+trainee@gateway:~$ helm repo list 
 +NAME    URL                                
 +bitnami https://charts.bitnami.com/bitnami
 </code> </code>
  
-<WRAP center round important 60%> +Pour mettre à jour les dépôts, utilisez la commande **helm repo update** :
-**Important** : Notez le message **Your Kubernetes control-plane has initialized successfully**. +
-</WRAP>+
  
-<WRAP center round todo 60%+<code
-**A Faire** Copiez dans un fichier la dernière ligne de la sortie, par exemple **kubeadm join 192.168.56.2:6443 --token d5hb0g.a45h8d6qczwi3g5w --discovery-token-ca-cert-hash sha256:979365a44435cd3cd9bd364357b6b59d0f759606f2d9de98f121c1b56b3c20b4**+trainee@gateway:~$ helm repo update 
-</WRAP>+Hang tight while we grab the latest from your chart repositories... 
 +...Successfully got an update from the "bitnami" chart repository 
 +Update Complete. ⎈Happy Helming!⎈ 
 +</code>
  
-Créez maintenant la variable **KUBECONFIG** :+Pour supprimer un dépôt, utilisez la commande **helm repo remove <repo>**
  
 <code> <code>
-root@kubemaster:~# export KUBECONFIG=/etc/kubernetes/admin.conf+trainee@gateway:~$ helm repo remove bitnami 
 +"bitnami" has been removed from your repositories
 </code> </code>
- 
-Insérez les deux lignes suivantes à la fin du fichier **/root/.bashrc** : 
  
 <code> <code>
-root@kubemaster:~# vi .bashrc +trainee@gateway:~$ helm repo list 
-root@kubemaster:~# tail .bashrc +Errorno repositories to show
-... +
-KUBECONFIG=/etc/kubernetes/admin.conf +
-export KUBECONFIG+
 </code> </code>
  
-====1.Installation d'une Extension Réseau pour la Communication entre des PODs====+====1.La Commande helm search repo====
  
-Afin que les PODs puissent communiquer entre eux, il faut installer une extension pour le réseau . Il existe plusieurs extensions sur lesquelles nous reviendrons plus tard dans ce cours :+Ajoutez de nouveau le dépôt Bitnami :
  
-  * **[[https://www.projectcalico.org/|Calico]]**, +<code> 
-  * **[[https://cilium.io/|Cilium]]**, +trainee@gateway:~$ helm repo add bitnami https://charts.bitnami.com/bitnami 
-  * **[[https://coreos.com/flannel/docs/latest/|Flannel]]**, +"bitnami" has been added to your repositories 
-  * **[[https://www.kube-router.io/|Kube-router]]**, +</code>
-  * **[[https://romana.io/|Romana]]**, +
-  * **[[https://www.weave.works/oss/net/|WeaveNet]]**, +
-  * **[[https://antrea.io/docs/master/getting-started/|Antrea]]**, +
-  * **[[https://github.com/alauda/kube-ovn|kube-ovn]]**, +
-  * Canal (utilise Flannel pour le réseau et Calico pour le pare-feu).+
  
-Afin d'obtenir un cluster fonctionnelnous allons utiliser la première extension de la liste, à savoir **Calico** :+Pour voir le contenu de ce dépôt au format YAMLutilisez la commande **helm search repo** :
  
 <code> <code>
-root@kubemaster:~# curl https://docs.projectcalico.org/v3.10/manifests/calico.yaml -O +trainee@gateway:~$ helm search repo bitnami --output yaml | more 
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current +- app_version2.10.4 
-                                 Dload  Upload   Total   Spent    Left  Speed +  description: Apache Airflow is a tool to express and execute workflows as directed 
-100 20679  100 20679    0      71889      0 --:--:-- --:--:-- --:--:-- 71802 +    acyclic graphs (DAGs). It includes utilities to schedule tasks, monitor task progress 
-root@kubemaster:~# ls +    and handle task dependencies. 
-calico.yaml +  namebitnami/airflow 
-root@kubemaster:~# kubectl apply -f calico.yaml +  version22.4.3 
-configmap/calico-config created +app_version2.4.62 
-Warningapiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition +  description: Apache HTTP Server is an open-source HTTP serverThe goal of this 
-customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created +    project is to provide a secureefficient and extensible server that provides 
-customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created +    HTTP services in sync with the current HTTP standards. 
-customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created +  name: bitnami/apache 
-customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created +  version: 11.3.
-customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created +- app_version: 3.11.
-customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created +  description: Apache APISIX is high-performance, real-time API GatewayFeatures 
-customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created +    load balancing, dynamic upstream, canary release, circuit breaking, authentication, 
-customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created +    observability, amongst others. 
-customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created +  name: bitnami/apisix 
-customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created +  version: 3.7.0 
-customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created +- app_version: 1.53.
-customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created +  description: Appsmith is an open source platform for building and maintaining internal 
-customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created +    tools, such as custom dashboards, admin panels or CRUD apps. 
-customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created +  name: bitnami/appsmith 
-clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created +  version: 5.1.2 
-clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created +- app_version: 2.13.
-clusterrole.rbac.authorization.k8s.io/calico-node created +  description: Argo CD is a continuous delivery tool for Kubernetes based on GitOps. 
-clusterrolebinding.rbac.authorization.k8s.io/calico-node created +  name: bitnami/argo-cd 
-daemonset.apps/calico-node created +  version: 7.1.1 
-serviceaccount/calico-node created +- app_version: 3.6.
-deployment.apps/calico-kube-controllers created +  description: Argo Workflows is meant to orchestrate Kubernetes jobs in parallel. 
-serviceaccount/calico-kube-controllers created+    It uses DAG and step-based workflows 
 +  name: bitnami/argo-workflows 
 +  version: 11.1.
 +- app_version: 8.0.11 
 +  description: ASP.NET Core is an open-source framework for web application development 
 +    created by MicrosoftIt runs on both the full .NET Framework, on Windows, and 
 +    the cross-platform .NET Core. 
 +  name: bitnami/aspnet-core 
 +  version: 6.3.0 
 +- app_version: 5.0.2 
 +  description: Apache Cassandra is an open source distributed database management 
 +    system designed to handle large amounts of data across many servers, providing 
 +    high availability with no single point of failure. 
 +  name: bitnami/cassandra 
 +  version: 12.1.0 
 +- app_version: 1.16.
 +  description: cert-manager is a Kubernetes add-on to automate the management and 
 +    issuance of TLS certificates from various issuing sources. 
 +  name: bitnami/cert-manager 
 +  version: 1.4.
 +- app_version: 0.146.
 +  description: Chainloop is an open-source Software Supply Chain control plane, a 
 +    single source of truth for metadata and artifacts, plus a declarative attestation 
 +    process. 
 +  name: bitnami/chainloop 
 +  version: 2.1.9 
 +app_version: 1.16.5 
 +  description: Cilium is an eBPF-based networking, observability, and security for 
 +    Linux container management platforms like Docker and Kubernetes. 
 +--More--
 </code> </code>
  
-Vérifiez que tout est dans un état **Running** :+Recherchez maintenant Wordpress dans le dépôt Bitnami :
  
 <code> <code>
-root@kubemaster:~# kubectl get pods --all-namespaces +trainee@gateway:~$ helm search repo wordpress 
-NAMESPACE     NAME                                                READY   STATUS    RESTARTS   AGE +NAME                    CHART VERSION   APP VERSION     DESCRIPTION                                        
-kube-system   calico-kube-controllers-7854b85cf7-hk62x            1/1     Running            53s +bitnami/wordpress       24.1.5          6.7.1           WordPress is the world's most popular blogging ..
-kube-system   calico-node-pxjt4                                   1/1     Running            53s +bitnami/wordpress-intel 2.1.31          6.1.          DEPRECATED WordPress for Intel is the most popu...
-kube-system   coredns-f9fd979d6-77g4x                             1/    Running            33m +
-kube-system   coredns-f9fd979d6-stw5f                             1/    Running            33m +
-kube-system   etcd-kubemaster.ittraining.loc                      1/1     Running            34m +
-kube-system   kube-apiserver-kubemaster.ittraining.loc            1/1     Running            34m +
-kube-system   kube-controller-manager-kubemaster.ittraining.loc   1/    Running            34m +
-kube-system   kube-proxy-n4qn2                                    1/    Running            33m +
-kube-system   kube-scheduler-kubemaster.ittraining.loc            1/1     Running            34m+
 </code> </code>
  
-====1.8 - Connexion des Travailleurs au Maître====+La commande précédement exécutée ne retourne que la dernière verstion de WordpressPour voir la liste des versions disponibles, utilisez l'option **--versions** :
  
-Si vous avez oublié de copier la commande **kudadm join**exécutez la commande **kubeadm token create --print-join-command** et copiez la sortie de la commande :+<code> 
 +trainee@gateway:~$ helm search repo wordpress --versions | more 
 +NAME                    CHART VERSION   APP VERSION     DESCRIPTION                                        
 +bitnami/wordpress       24.1.5          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.1.4          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.1.3          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.1.2          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.1.1          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.1.0          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.11         6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.10         6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.9          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.8          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.7          6.7.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.6          6.7.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.5          6.7.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.4          6.7.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.3          6.7.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.2          6.7.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.1          6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       24.0.0          6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.29         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.28         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.27         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.26         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.25         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.24         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.23         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.22         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.21         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.20         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.19         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.18         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.17         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.16         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.15         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.14         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.13         6.6.2           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.12         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.11         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.10         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.9          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.8          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.7          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.6          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.5          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.4          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.3          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.2          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.1          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.1.0          6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.15         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.14         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.13         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.12         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.11         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.10         6.6.1           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.9          6.6.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.8          6.6.0           WordPress is the world's most popular blogging ... 
 +bitnami/wordpress       23.0.7          6.6.0           WordPress is the world's most popular blogging ... 
 +--More-- 
 +</code> 
 + 
 +====1.6 - La Commande helm show==== 
 + 
 +Pour voir les méta-données d'une version du Chartil convient d'utiliser la commande **helm show chart** :
  
 <code> <code>
-root@kubemaster:~# kubeadm token create --print-join-command +trainee@gateway:~$ helm show chart bitnami/wordpress --version=24.1.5 
-W0922 11:01:22.063743   14065 configset.go:348] WARNINGkubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] +annotations: 
-kubeadm join 192.168.56.2:6443 --token rcm3uz.lq4dshqdr00wkkpf     --discovery-token-ca-cert-hash sha256:979365a44435cd3cd9bd364357b6b59d0f759606f2d9de98f121c1b56b3c20b4+  category: CMS 
 +  images: | 
 +    name: apache-exporter 
 +      imagedocker.io/bitnami/apache-exporter:1.0.9-debian-12-r6 
 +    - nameos-shell 
 +      imagedocker.io/bitnami/os-shell:12-debian-12-r34 
 +    - name: wordpress 
 +      image: docker.io/bitnami/wordpress:6.7.1-debian-12-r9 
 +  licenses: Apache-2.0 
 +apiVersion: v2 
 +appVersion: 6.7.1 
 +dependencies: 
 +- condition: memcached.enabled 
 +  name: memcached 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  version: 7.x.x 
 +- condition: mariadb.enabled 
 +  name: mariadb 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  version: 20.x.
 +- name: common 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  tags: 
 +  - bitnami-common 
 +  version: 2.x.x 
 +descriptionWordPress is the world's most popular blogging and content management 
 +  platform. Powerful yet simple, everyone from students to global corporations use 
 +  it to build beautiful, functional websites. 
 +home: https://bitnami.com 
 +icon: https://bitnami.com/assets/stacks/wordpress/img/wordpress-stack-220x234.png 
 +keywords: 
 +application 
 +blog 
 +cms 
 +http 
 +php 
 +web 
 +- wordpress 
 +maintainers: 
 +- name: Broadcom, Inc. All Rights Reserved. 
 +  url: https://github.com/bitnami/charts 
 +name: wordpress 
 +sources: 
 +- https://github.com/bitnami/charts/tree/main/bitnami/wordpress 
 +version: 24.1.5
 </code> </code>
  
-Connectez-vous à **kubenode1** :+Pour consultez le fichier README du Chart, il convient d'utiliser la commande **helm show readme** :
  
 <code> <code>
-root@kubemaster:~# ssh -l trainee kubenode1 +trainee@gateway:~$ helm show readme bitnami/wordpress --version 24.1.5 | more 
-The authenticity of host 'kubenode1 (192.168.56.3)' can't be established+<!--- app-name: WordPress -->
-ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE. +
-Are you sure you want to continue connecting (yes/no)? yes +
-Warning: Permanently added 'kubenode1,192.168.56.3' (ECDSA) to the list of known hosts. +
-trainee@kubenode1's password: trainee +
-Linux kubenode1.ittraining.loc 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64+
  
-The programs included with the Debian GNU/Linux system are free software; +# Bitnami package for WordPress
-the exact distribution terms for each program are described in the +
-individual files in /usr/share/doc/*/copyright.+
  
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +WordPress is the world's most popular blogging and content management platformPowerful yet simple, everyone from students to global corporations use it to build beautiful, functional websites.
-permitted by applicable law. +
-Last login: Mon Sep 21 20:13:58 2020 from 192.168.56.+
-trainee@kubenode1:~$ +
-</code>+
  
-Utilisez maintenant la commande copiée pour joindre le nœud au cluster :+[Overview of WordPress](http://www.wordpress.org)
  
-<code> +## TL;DR
-trainee@kubenode1:~$ su - +
-Mot de passe : fenestros +
-root@kubenode1:~kubeadm join 192.168.56.2:6443 --token rcm3uz.lq4dshqdr00wkkpf     --discovery-token-ca-cert-hash sha256:979365a44435cd3cd9bd364357b6b59d0f759606f2d9de98f121c1b56b3c20b4 +
-[preflight] Running pre-flight checks +
-        [WARNING SystemVerification]: missing optional cgroups: hugetlb +
-[preflight] Reading configuration from the cluster... +
-[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml' +
-[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" +
-[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" +
-[kubelet-start] Starting the kubelet +
-[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...+
  
-This node has joined the cluster: +```console 
-* Certificate signing request was sent to apiserver and a response was received. +helm install my-release oci://registry-1.docker.io/bitnamicharts/wordpress 
-* The Kubelet was informed of the new secure connection details.+```
  
-Run 'kubectl get nodes' on the control-plane to see this node join the cluster. +Looking to use WordPress in production? Try [VMware Tanzu Application Catalog](https://bitnami.com/enterprise), the commercial edition of the Bitnami catalog.
-</code>+
  
-Déconnectez-vous de kubenode1 et connectez-vous à **kubenode2** :+## Introduction
  
-<code> +This chart bootstraps a [WordPress](https://github.com/bitnami/containers/tree/main/bitnami/wordpressdeployment on a [Kubernetes](https://kubernetes.iocluster using the [Helm](https://helm.sh) package manag 
-root@kubenode1:~# exit +er.
-déconnexion +
-trainee@kubenode1:~$ exit +
-déconnexion +
-Connection to kubenode1 closed. +
-root@kubemaster:~# ssh -l trainee kubenode2 +
-The authenticity of host 'kubenode2 (192.168.56.4)' can't be established. +
-ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE. +
-Are you sure you want to continue connecting (yes/no)? yes +
-WarningPermanently added 'kubenode2,192.168.56.4' (ECDSAto the list of known hosts+
-trainee@kubenode2's password: trainee +
-Linux kubenode2.ittraining.loc 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64+
  
-The programs included with the Debian GNU/Linux system are free software; +It also packages the [Bitnami MariaDB chart](https://github.com/bitnami/charts/tree/main/bitnami/mariadb) which is required for bootstrapping a MariaDB deployment for the database requirements of the WordPress  
-the exact distribution terms for each program are described in the +application, and the [Bitnami Memcached chart](https://github.com/bitnami/charts/tree/main/bitnami/memcached) that can be used to cache database queries.
-individual files in /usr/share/doc/*/copyright.+
  
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters.
-permitted by applicable law. +
-Last loginMon Sep 21 20:14:15 2020 from 192.168.56.1 +
-trainee@kubenode2:~$ +
-</code>+
  
-Utilisez maintenant la commande copiée pour joindre le nœud au cluster :+## Prerequisites
  
-<code> +Kubernetes 1.23+ 
-trainee@kubenode2:~$ su - +Helm 3.8.0+ 
-Mot de passe : fenestros +PV provisioner support in the underlying infrastructure 
-root@kubenode2:~# kubeadm join 192.168.56.2:6443 --token rcm3uz.lq4dshqdr00wkkpf     --discovery-token-ca-cert-hash sha256:979365a44435cd3cd9bd364357b6b59d0f759606f2d9de98f121c1b56b3c20b4 +ReadWriteMany volumes for deployment scaling
-[preflight] Running pre-flight checks +
-        [WARNING SystemVerification]: missing optional cgroups: hugetlb +
-[preflight] Reading configuration from the cluster... +
-[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml' +
-[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" +
-[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" +
-[kubelet-start] Starting the kubelet +
-[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...+
  
-This node has joined the cluster: +## Installing the Chart
-* Certificate signing request was sent to apiserver and a response was received. +
-* The Kubelet was informed of the new secure connection details.+
  
-Run 'kubectl get nodes' on the control-plane to see this node join the cluster.+To install the chart with the release name `my-release`: 
 + 
 +```console 
 +helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/wordpress 
 +``` 
 + 
 +> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_ 
 +NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`. 
 + 
 +The command deploys WordPress on the Kubernetes cluster in the default configurationThe [Parameters](#parameters) section lists the parameters that can be configured during installation. 
 + 
 +> **Tip**: List all releases using `helm list` 
 + 
 +## Configuration and installation details 
 + 
 +### Resource requests and limits 
 + 
 +Bitnami charts allow setting resource requests and limits for all containers inside the chart deployment. These are inside the `resources` value (check parameter table). Setting requests is essential for produc 
 +tion workloads and these should be adapted to your specific use case. 
 + 
 +To make this process easier, the chart contains the `resourcesPreset` values, which automatically sets the `resources` section according to different presets. Check these presets in [the bitnami/common chart](h 
 +ttps://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15). However, in production workloads using `resourcesPreset` is discouraged as it may not fully adapt to your specific needs. 
 + Find more information on container resource management in the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/). 
 +--More--
 </code> </code>
  
-Attendez que l'état des nœuds soit **Ready** :+Pour consultez les valeurs du Chart, il convient d'utiliser la commande **helm show values** :
  
 <code> <code>
-root@kubenode2:~# exit +trainee@gateway:~$ helm show values bitnami/wordpress --version 24.1.5 | more 
-déconnexion +Copyright Broadcom, Inc. All Rights Reserved. 
-trainee@kubenode2:~$ exit +# SPDX-License-Identifier: APACHE-2.0 
-déconnexion + 
-Connection to kubenode2 closed. +## @section Global parameters 
-root@kubemaster:~+## Global Docker image parameters 
-root@kubemaster:~kubectl get nodes +## Please, note that this will override the image parameters, including dependencies, configured to use the global value 
-NAME                        STATUS   ROLES    AGE     VERSION +## Current available global Docker image parametersimageRegistry, imagePullSecrets and storageClass 
-kubemaster.ittraining.loc   Ready    master   48m     v1.19.2 +#
-kubenode1.ittraining.loc    Ready    <none>   5m44s   v1.19.2 + 
-kubenode2.ittraining.loc    Ready    <none>   57s     v1.19.2+## @param global.imageRegistry Global Docker image registry 
 +## @param global.imagePullSecrets Global Docker registry secret names as an array 
 +## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s) 
 +## 
 +global: 
 +  imageRegistry: "" 
 +  ## E.g. 
 +  ## imagePullSecrets: 
 +  ##   - myRegistryKeySecretName 
 +  ## 
 +  imagePullSecrets: [] 
 +  defaultStorageClass: "" 
 +  ## Security parameters 
 +  ## 
 +  security: 
 +    ## @param global.security.allowInsecureImages Allows skipping image verification 
 +    allowInsecureImages: false 
 +  ## Compatibility adaptations for Kubernetes platforms 
 +  ## 
 +  compatibility: 
 +    ## Compatibility adaptations for Openshift 
 +    ## 
 +    openshift: 
 +      ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup an 
 +d fsGroup and let the platform use their allowed default IDsPossible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptati 
 +on) 
 +      ## 
 +      adaptSecurityContext: auto 
 +## @section Common parameters 
 +## 
 + 
 +## @param kubeVersion Override Kubernetes version 
 +## 
 +kubeVersion: "" 
 +## @param nameOverride String to partially override common.names.fullname template (will maintain the release name) 
 +## 
 +nameOverride: "" 
 +## @param fullnameOverride String to fully override common.names.fullname template 
 +## 
 +fullnameOverride: "" 
 +## @param commonLabels Labels to add to all deployed resources 
 +## 
 +commonLabels: {} 
 +## @param commonAnnotations Annotations to add to all deployed resources 
 +## 
 +commonAnnotations: {} 
 +## @param clusterDomain Kubernetes Cluster Domain 
 +## 
 +clusterDomain: cluster.local 
 +--More--
 </code> </code>
  
-Arrêtez maintenant les machines virtuelles :+<WRAP center round important 60%> 
 +**Important** : Les valeurs par défaut peuvent être surchargées par des valeurs dans un fichier au format YAML. 
 +</WRAP> 
 + 
 +Pour consultez les méta-données, le fichier README ainsi que les valeurs du Chart, il convient d'utiliser la commande **helm show all** :
  
 <code> <code>
-root@kubemaster:~# exit +trainee@gateway:~$ helm show all bitnami/wordpress --version 24.1.5 | more 
-déconnexion +annotations: 
-trainee@kubemaster:~$ exit +  category: CMS 
-déconnexion +  images: | 
-Connection to kubemaster closed.+    - name: apache-exporter 
 +      image: docker.io/bitnami/apache-exporter:1.0.9-debian-12-r6 
 +    - name: os-shell 
 +      image: docker.io/bitnami/os-shell:12-debian-12-r34 
 +    - name: wordpress 
 +      image: docker.io/bitnami/wordpress:6.7.1-debian-12-r9 
 +  licenses: Apache-2.0 
 +apiVersion: v2 
 +appVersion: 6.7.1 
 +dependencies: 
 +- condition: memcached.enabled 
 +  name: memcached 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  version: 7.x.x 
 +- condition: mariadb.enabled 
 +  name: mariadb 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  version: 20.x.x 
 +- name: common 
 +  repository: oci://registry-1.docker.io/bitnamicharts 
 +  tags: 
 +  - bitnami-common 
 +  version: 2.x.x 
 +description: WordPress is the world's most popular blogging and content management 
 +  platform. Powerful yet simple, everyone from students to global corporations use 
 +  it to build beautiful, functional websites. 
 +home: https://bitnami.com 
 +icon: https://bitnami.com/assets/stacks/wordpress/img/wordpress-stack-220x234.png 
 +keywords: 
 +- application 
 +- blog 
 +- cms 
 +- http 
 +- php 
 +- web 
 +- wordpress 
 +maintainers: 
 +- name: Broadcom, Inc. All Rights Reserved. 
 +  url: https://github.com/bitnami/charts 
 +name: wordpress 
 +sources: 
 +- https://github.com/bitnami/charts/tree/main/bitnami/wordpress 
 +version: 24.1.5 
 + 
 +--- 
 +Copyright Broadcom, Inc. All Rights Reserved. 
 +# SPDX-License-Identifier: APACHE-2.0 
 + 
 +## @section Global parameters 
 +## Global Docker image parameters 
 +## Please, note that this will override the image parameters, including dependencies, configured to use the global value 
 +## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass 
 +## 
 + 
 +## @param global.imageRegistry Global Docker image registry 
 +--More--
 </code> </code>
 +
 +====1.7 - Installation d'un Chart====
 +
 +Créez un Namespace appelé **dof309** dans lequel vous allez installer WordPress :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage controlvm kubenode2 poweroff +trainee@gateway:~$ kubectl create namespace dof309 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+namespace/dof309 created
 </code> </code>
 +
 +Créez le fichier **wordpress-values.yaml** contenant des valeurs qui surchargeront celles du Chart WordPress :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage controlvm kubenode1 poweroff +trainee@gateway:~$ vi wordpress-values.yaml 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+trainee@gateway:~$ cat wordpress-values.yaml 
 +wordpressUsername: helm-user 
 +wordpressPassword: my-pass 
 +wordpressEmail: helm-user@i2tch.loc 
 +wordpressFirstName: Helm 
 +wordpressLastName: User  
 +wordpressBlogName: Learn Helm! 
 +service: 
 +  type: NodePort
 </code> </code>
 +
 +Installez maintenant le Chart WordPress :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage controlvm kubemaster poweroff +trainee@gateway:~$ helm install wordpress bitnami/wordpress --values=wordpress-values.yaml --namespace dof309 --version 24.1.
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+NAME: wordpress 
 +LAST DEPLOYED: Fri Dec 20 15:14:17 2024 
 +NAMESPACE: dof309 
 +STATUS: deployed 
 +REVISION: 1 
 +TEST SUITE: None 
 +NOTES: 
 +CHART NAME: wordpress 
 +CHART VERSION: 24.1.
 +APP VERSION: 6.7.
 + 
 +Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application CatalogSee https://www.arrow.com/globalecs/na/vendors/bitnami for more information. 
 + 
 +** Please be patient while the chart is being deployed ** 
 + 
 +Your WordPress site can be accessed through the following DNS name from within your cluster: 
 + 
 +    wordpress.dof309.svc.cluster.local (port 80) 
 + 
 +To access your WordPress site from outside the cluster follow the steps below: 
 + 
 +1Get the WordPress URL by running these commands: 
 + 
 +   export NODE_PORT=$(kubectl get --namespace dof309 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress) 
 +   export NODE_IP=$(kubectl get nodes --namespace dof309 -o jsonpath="{.items[0].status.addresses[0].address}"
 +   echo "WordPress URL: http://$NODE_IP:$NODE_PORT/" 
 +   echo "WordPress Admin URL: http://$NODE_IP:$NODE_PORT/admin" 
 + 
 +2Open a browser and access WordPress using the obtained URL. 
 + 
 +3Login with the following credentials below to see your blog: 
 + 
 +  echo Username: helm-user 
 +  echo Password: $(kubectl get secret --namespace dof309 wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d) 
 + 
 +WARNING: There are "resources" sections in the chart not setUsing "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs: 
 +  - resources 
 ++info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
 </code> </code>
  
-Ensuite restaurez l'état d'origine des machines virtuelles :+Vérifiez ls statut du deployment de l'application :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage snapshot kubenode2 restore snapshot1 +trainee@gateway:~$ helm list --namespace dof309 
-Restoring snapshot 'snapshot1' (22df4e22-876a-4e94-88a8-8422a3a6b158) +NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+wordpress       dof309          1               2024-12-20 15:14:17.143771785 +0100 CET deployed        wordpress-24.1.5        6.7.1      
 </code> </code>
 +
 +====1.8 - La Commande helm get====
 +
 +Helm utilise un système de **Hooks** qui permet au développeurs d'exécuter des tâches à des moments précis. Les Hooks sont :
 +
 +  * pre-install
 +  * post-install
 +  * pre-delete
 +  * post-delete
 +  * pre-upgrade
 +  * post-upgrade
 +  * pre-rollback
 +  * post-rollback
 +  * test
 +
 +Pour visualiser les Hooks, s'ils existent, il convient d'utiliser la commande **helm get hooks** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage snapshot kubenode1 restore snapshot1 +trainee@gateway:~$ helm get hooks wordpress --namespace dof309 
-Restoring snapshot 'snapshot1' (22df4e22-876a-4e94-88a8-8422a3a6b158) +trainee@gateway:~$
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+
 </code> </code>
 +
 +Pour consulter les manifests, utilisez la commande **helm get manifest** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage snapshot kubemaster restore snapshot1 +trainee@gateway:~$ helm get manifest wordpress --namespace dof309 | more 
-Restoring snapshot 'snapshot1' (22df4e22-876a-4e94-88a8-8422a3a6b158) +--- 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%+# Source: wordpress/charts/mariadb/templates/networkpolicy.yaml 
 +kind: NetworkPolicy 
 +apiVersion: networking.k8s.io/v1 
 +metadata: 
 +  name: wordpress-mariadb 
 +  namespace: "dof309" 
 +  labels: 
 +    app.kubernetes.io/instance: wordpress 
 +    app.kubernetes.io/managed-by: Helm 
 +    app.kubernetes.io/name: mariadb 
 +    app.kubernetes.io/version: 11.4.4 
 +    helm.sh/chart: mariadb-20.2.
 +    app.kubernetes.io/part-of: mariadb 
 +spec: 
 +  podSelector: 
 +    matchLabels: 
 +      app.kubernetes.io/instance: wordpress 
 +      app.kubernetes.io/managed-by: Helm 
 +      app.kubernetes.io/name: mariadb 
 +      app.kubernetes.io/version: 11.4.
 +      helm.sh/chart: mariadb-20.2.
 +  policyTypes: 
 +    - Ingress 
 +    - Egress 
 +  egress: 
 +    - {} 
 +  ingress: 
 +    - ports: 
 +        - port: 3306 
 +        - port: 3306 
 +--- 
 +# Source: wordpress/templates/networkpolicy.yaml 
 +kind: NetworkPolicy 
 +apiVersion: networking.k8s.io/v1 
 +metadata: 
 +  name: wordpress 
 +  namespace: "dof309" 
 +  labels: 
 +    app.kubernetes.io/instance: wordpress 
 +    app.kubernetes.io/managed-by: Helm 
 +    app.kubernetes.io/name: wordpress 
 +    app.kubernetes.io/version: 6.7.1 
 +    helm.sh/chart: wordpress-24.1.5 
 +spec: 
 +  podSelector: 
 +    matchLabels: 
 +      app.kubernetes.io/instance: wordpress 
 +      app.kubernetes.io/name: wordpress 
 +  policyTypes: 
 +    - Ingress 
 +    - Egress 
 +  egress: 
 +    - {} 
 +  ingress: 
 +    - ports: 
 +        - port: 8080 
 +        - port: 8443 
 +--More--
 </code> </code>
  
-Dernièrement supprimez le Réseau Privé Hôte 192.168.56.0/24 +Il est possible de revoir les **NOTES** imprimées à l'écran lors de l'exécution de la commande helm install en utilisant le comande **help get notes** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage hostonlyif remove "vboxnet0" +trainee@gateway:~$ helm get notes wordpress --namespace dof309 
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% +NOTES: 
-</code> +CHART NAME: wordpress 
-</code>+CHART VERSION: 24.1.
 +APP VERSION: 6.7.1
  
-=====LAB #2 - Création du Cluster Kubernetes avec Minikube=====+Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami for more information.
  
-====2.1 - Présentation de Minikube====+** Please be patient while the chart is being deployed **
  
-Pour installer Kubernetes rapidement et facilement il convient d'utiliser Minikube. Minikube permet de créer un cluster avec un seul nœud.+Your WordPress site can be accessed through the following DNS name from within your cluster:
  
-====2.2 - Installation de Minikube====+    wordpress.dof309.svc.cluster.local (port 80)
  
-Commencez par télécharger Minikube :+To access your WordPress site from outside the cluster follow the steps below:
  
-<code> +1. Get the WordPress URL by running these commands: 
-desktop@serverXX:~wget  https://github.com/kubernetes/minikube/releases/download/v1.14.2/minikube-linux-amd64 + 
---2020-11-18 09:43:17--  https://github.com/kubernetes/minikube/releases/download/v1.14.2/minikube-linux-amd64 +   export NODE_PORT=$(kubectl get --namespace dof309 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress) 
-Resolving github.com (github.com)... 140.82.121.4 +   export NODE_IP=$(kubectl get nodes --namespace dof309 -o jsonpath="{.items[0].status.addresses[0].address}"
-Connecting to github.com (github.com)|140.82.121.4|:443... connected. +   echo "WordPress URLhttp://$NODE_IP:$NODE_PORT/" 
-HTTP request sent, awaiting response... 302 Found +   echo "WordPress Admin URLhttp://$NODE_IP:$NODE_PORT/admin" 
-Locationhttps://github-production-release-asset-2e65be.s3.amazonaws.com/56353740/3cc4d800-186c-11eb-8c88-776be2397800?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201118T084317Z&X-Amz-Expires=300&X-Amz-Signature=2b7ea6ead1e1297d491db1c514347b1f97e2665bd72014e5fa1730aa7b68a2be&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=56353740&response-content-disposition=attachment%3B%20filename%3Dminikube-linux-amd64&response-content-type=application%2Foctet-stream [following] + 
---2020-11-18 09:43:17--  https://github-production-release-asset-2e65be.s3.amazonaws.com/56353740/3cc4d800-186c-11eb-8c88-776be2397800?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201118%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201118T084317Z&X-Amz-Expires=300&X-Amz-Signature=2b7ea6ead1e1297d491db1c514347b1f97e2665bd72014e5fa1730aa7b68a2be&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=56353740&response-content-disposition=attachment%3B%20filename%3Dminikube-linux-amd64&response-content-type=application%2Foctet-stream +2Open a browser and access WordPress using the obtained URL
-Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.113.131 + 
-Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.113.131|:443... connected+3Login with the following credentials below to see your blog:
-HTTP request sent, awaiting response... 200 OK +
-Length: 55960880 (53M) [application/octet-stream] +
-Saving to: ‘minikube-linux-amd64’+
  
-minikube-linux-amd64                                        100%[=========================================================================================================================================> 53.37M  10.7MB/s    in 5.8s    +  echo Username: helm-user 
 +  echo Password: $(kubectl get secret --namespace dof309 wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d)
  
-2020-11-18 09:43:24 (9.24 MB/s) - ‘minikube-linux-amd64’ saved [55960880/55960880]+WARNINGThere are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs: 
 +  - resources 
 ++info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
 </code> </code>
  
-Renommez le binaire téléchargé et rendez-le exécutable :+Pour visualiser les valeurs spécifiées par l'utilisateur dans le fichier de valeurs, utilisez la commande **helm get values** :
  
 <code> <code>
-desktop@serverXX:~$ mv minikube-linux-amd64 minikube +trainee@gateway:~$ helm get values wordpress --namespace dof309 
-desktop@serverXX:~$ chmod u+x minikube+USER-SUPPLIED VALUES: 
 +service: 
 +  type: NodePort 
 +wordpressBlogName: Learn Helm! 
 +wordpressEmail: helm-user@i2tch.loc 
 +wordpressFirstNameHelm 
 +wordpressLastName: User 
 +wordpressPassword: my-pass 
 +wordpressUsername: helm-user
 </code> </code>
  
-Déplacez ensuite le binaire minikube dans le répertoire **/usr/local/bin/** :+Pour voir toutes les valeurs, il convient d'utiliser la commande **helm get values** avec l'option **--all** :
  
 <code> <code>
-desktop@serverXX:~$ sudo mv minikube /usr/local/bin/  +trainee@gateway:~$ helm get values wordpress --all --namespace dof309 | more 
-[sudopassword for desktop:+COMPUTED VALUES: 
 +affinity: {} 
 +allowEmptyPassword: true 
 +allowOverrideNone: false 
 +apacheConfiguration: "" 
 +args: [] 
 +automountServiceAccountToken: false 
 +autoscaling: 
 +  enabled: false 
 +  maxReplicas: 11 
 +  minReplicas:
 +  targetCPU: 50 
 +  targetMemory: 50 
 +clusterDomain: cluster.local 
 +command: [] 
 +common: 
 +  exampleValue: common-chart 
 +  global: 
 +    compatibility: 
 +      openshift: 
 +        adaptSecurityContext: auto 
 +    defaultStorageClass: "" 
 +    imagePullSecrets: [] 
 +    imageRegistry: "" 
 +    security: 
 +      allowInsecureImages: false 
 +commonAnnotations: {} 
 +commonLabels: {} 
 +containerPorts: 
 +  http: 8080 
 +  https: 8443 
 +containerSecurityContext: 
 +  allowPrivilegeEscalation: false 
 +  capabilities: 
 +    drop: 
 +    - ALL 
 +  enabled: true 
 +  privileged: false 
 +  readOnlyRootFilesystem: true 
 +  runAsGroup: 1001 
 +  runAsNonRoot: true 
 +  runAsUser: 1001 
 +  seLinuxOptions: {} 
 +  seccompProfile: 
 +    type: RuntimeDefault 
 +customHTAccessCM: "" 
 +customLivenessProbe: {} 
 +customPostInitScripts: {} 
 +customReadinessProbe: {} 
 +customStartupProbe: {} 
 +diagnosticMode: 
 +  args: 
 +  - infinity 
 +  command: 
 +  - sleep 
 +  enabled: false 
 +existingApacheConfigurationConfigMap: "" 
 +existingSecret: "" 
 +--More--
 </code> </code>
  
-Testez ensuite l'installation avec la commande **minikube version** :+Dernièrement pour visualiser toutes les informations, utilisez la commande **helm get all** :
  
 <code> <code>
-desktop@serverXX:~$ minikube version +trainee@gateway:~$ helm get all wordpress --namespace dof309 | more 
-minikube versionv1.14.2 +NAME: wordpress 
-commit2c82918e2347188e21c4e44c8056fc80408bce10+LAST DEPLOYED: Fri Dec 20 15:14:17 2024 
 +NAMESPACE: dof309 
 +STATUS: deployed 
 +REVISION: 1 
 +CHART: wordpress 
 +VERSION: 24.1.5 
 +APP_VERSION6.7.1 
 +TEST SUITE: None 
 +USER-SUPPLIED VALUES: 
 +service: 
 +  type: NodePort 
 +wordpressBlogName: Learn Helm! 
 +wordpressEmail: helm-user@i2tch.loc 
 +wordpressFirstName: Helm 
 +wordpressLastName: User 
 +wordpressPassword: my-pass 
 +wordpressUsername: helm-user 
 + 
 +COMPUTED VALUES: 
 +affinity: {} 
 +allowEmptyPassword: true 
 +allowOverrideNone: false 
 +apacheConfiguration: "" 
 +args: [] 
 +automountServiceAccountToken: false 
 +autoscaling: 
 +  enabled: false 
 +  maxReplicas: 11 
 +  minReplicas:
 +  targetCPU: 50 
 +  targetMemory: 50 
 +clusterDomain: cluster.local 
 +command: [] 
 +common: 
 +  exampleValue: common-chart 
 +  global: 
 +    compatibility: 
 +      openshift: 
 +        adaptSecurityContext: auto 
 +    defaultStorageClass: "" 
 +    imagePullSecrets: [] 
 +    imageRegistry: "" 
 +    security: 
 +      allowInsecureImages: false 
 +commonAnnotations: {} 
 +commonLabels: {} 
 +containerPorts: 
 +  http: 8080 
 +  https: 8443 
 +containerSecurityContext: 
 +  allowPrivilegeEscalation: false 
 +  capabilities: 
 +    drop: 
 +    - ALL 
 +  enabled: true 
 +  privileged: false 
 +  readOnlyRootFilesystem: true 
 +--More--
 </code> </code>
  
-====2.Configuration de Minikube====+====1.Utilisation des NOTES====
  
-Configurez maintenant l'hyperviseur par défaut de minikube :+Vérifiez le nombre de Pods qui ont été démarrés :
  
 <code> <code>
-desktop@serverXX:~$ minikube config set vm-driver virtualbox +trainee@gateway:~$ kubectl get pods -n dof309 
-❗  These changes will take effect upon a minikube delete and then a minikube start +NAME                         READY   STATUS    RESTARTS   AGE 
-</code> +wordpress-75b57d8d9b-9t4jw   0/    Running            4m22s 
 +wordpress-mariadb-0          0/1     Running            4m22s 
 +</code>
  
-Vérifiez la prise en charge de la dernière commande :+Pour se connecter à WordPress, il convient de suivre les instructions de la section **NOTES** imprimée à l'écran lors de l'exécution de la commande **helm install** :
  
 <code> <code>
-desktop@serverXX:~$ minikube config get vm-driver +trainee@gateway:~$ export NODE_PORT=$(kubectl get --namespace dof309 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress) 
-virtualbox + 
-</code>+trainee@gateway:~$ export NODE_IP=$(kubectl get nodes --namespace dof309 -o jsonpath="{.items[0].status.addresses[0].address}")
  
-Par défaut, lors de démarrage de Minikube, celui-ci va allouer 2 vCPUs et 2Go de RAM à sa machine virtuelleAugmentez la quantité de mémoire qui sera allouée avec la commande suivante :+trainee@gateway:~$ echo "WordPress URL: http://$NODE_IP:$NODE_PORT/" 
 +WordPress URL: http://192.168.59.100:32236/
  
-<code> +trainee@gateway:~$ echo "WordPress Admin URL: http://$NODE_IP:$NODE_PORT/admin" 
-desktop@serverXX:~$ minikube config set memory 4000 +WordPress Admin URL: http://192.168.59.100:32236/admin
-❗  These changes will take effect upon a minikube delete and then a minikube start+
 </code> </code>
  
-Vérifiez la prise en charge de la dernière commande :+Si vous oubliez le mot de passe de l'interface d'administration de l'installation de WordPress, utilisez la commande suivante :
  
 <code> <code>
-desktop@serverXX:~$ minikube config get memory +trainee@gateway:~$ echo Password: $(kubectl get secret --namespace dof309 wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d) 
-4000+Password: my-pass
 </code> </code>
  
-====2.Installation de kubectl====+====1.10 La Commande helm upgrade====
  
-Démarrez maintenant Minikube :+La mise-à-jour d'un Chart se fait en modifiant les valeurs dans le fichier YAML. Dans notre cas, le fichier s'appelle **wordpress-values.yaml**. Modifiez ce fichier pour porter le nombre de **Replicas** à 2 et pour diminuer la mémoire et le nombre de **millicores** du processeur par rapport à leurs valeurs par défaut de 512Mi et de 300m respectivement :
  
 <code> <code>
-desktop@serverXX:~$ minikube start +trainee@gateway:~$ vi wordpress-values.yaml  
-😄  minikube v1.14.2 on Ubuntu 16.04 +trainee@gateway:~$ cat wordpress-values.yaml  
-✨  Using the virtualbox driver based on user configuration +wordpressUsername: helm-user 
-💿  Downloading VM boot image ... +wordpressPassword: my-pass 
-    > minikube-v1.14.0.iso.sha25665 B / 65 B [-------------] 100.00% ? p/s 0s +wordpressEmailhelm-user@i2tch.loc 
-    > minikube-v1.14.0.iso178.27 MiB / 178.27 MiB [] 100.00% 9.08 MiB p/s 19s +wordpressFirstNameHelm 
-👍  Starting control plane node minikube in cluster minikube +wordpressLastName: User  
-💾  Downloading Kubernetes v1.19.2 preload ... +wordpressBlogName: Learn Helm! 
-    > preloaded-images-k8s-v6-v1.19.2-docker-overlay2-amd64.tar.lz4486.33 MiB +service
-🔥  Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... +  type: NodePort 
-🐳  Preparing Kubernetes v1.19.on Docker 19.03.12 ... +replicaCount: 
-🔎  Verifying Kubernetes components... +resources: 
-🌟  Enabled addonsdefault-storageclass, storage-provisioner +  requests
-💡  kubectl not found. If you need it, try'minikube kubectl -- get pods -A' +    memory256Mi 
-🏄  Done! kubectl is now configured to use "minikube" by default+    cpu: 100m
 </code> </code>
  
-Notez l'erreur **kubectl not found.**. Exécutez donc la commande **minikube kubectl -- get pods -A** pour installer kubectl :+Utilisez maintenant la commande **helm upgrade** pour mettre à jour le deployment :
  
 <code> <code>
-desktop@serverXX:~$ minikube kubectl -- get pods -A +trainee@gateway:~$ helm upgrade wordpress bitnami/wordpress --values wordpress-values.yaml -n dof309 --version 24.1.
-    > kubectl.sha256: 65 B 65 B [--------------------------] 100.00% ? p/s 0s +Release "wordpress" has been upgraded. Happy Helming! 
-    > kubectl: 41.01 MiB / 41.01 MiB [---------------] 100.00% 11.43 MiB p/s 3s +NAME: wordpress 
-NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE +LAST DEPLOYED: Fri Dec 20 15:33:45 2024 
-kube-system   coredns-f9fd979d6-d97dg            1/1     Running            17m +NAMESPACE: dof309 
-kube-system   etcd-minikube                      1/1     Running            17m +STATUS: deployed 
-kube-system   kube-apiserver-minikube            1/1     Running            17m +REVISION: 2 
-kube-system   kube-controller-manager-minikube   1/    Running            17m +TEST SUITE: None 
-kube-system   kube-proxy-vqmqd                   1/1     Running            17m +NOTES: 
-kube-system   kube-scheduler-minikube            1/1     Running            17m +CHART NAME: wordpress 
-kube-system   storage-provisioner                1/1     Running            17m +CHART VERSION: 24.1.5 
-</code>+APP VERSION: 6.7.1
  
-Consultez la liste des machines virtuelles en cours d'exécution :+Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami for more information.
  
-<code> +** Please be patient while the chart is being deployed **
-desktop@serverXX:~$ VBoxManage list runningvms +
-"minikube" {1b656fb9-ea02-4b0c-baeb-f25dbd9813bd} +
-</code>+
  
-Arrêtez maintenant Minikube :+Your WordPress site can be accessed through the following DNS name from within your cluster:
  
-<code> +    wordpress.dof309.svc.cluster.local (port 80)
-desktop@serverXX:~$ minikube stop +
-✋  Stopping node "minikube"  ... +
-🛑  1 nodes stopped. +
-</code>+
  
-Notez que, bien qu'arrêtée, la machine virtuelle **minikube** est toujours présente :+To access your WordPress site from outside the cluster follow the steps below:
  
-<code> +1. Get the WordPress URL by running these commands
-desktop@serverXX:~$ VBoxManage list runningvms + 
-desktop@serverXX:~VBoxManage list vms +   export NODE_PORT=$(kubectl get --namespace dof309 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress) 
-"Ansible" {91ba383a-cb9e-49ee-aa9c-c4bbf5b52894} +   export NODE_IP=$(kubectl get nodes --namespace dof309 -o jsonpath="{.items[0].status.addresses[0].address}") 
-"CentOS_7" {ef84d93f-1964-43a5-a6a9-0b205c2b2af4} +   echo "WordPress URL: http://$NODE_IP:$NODE_PORT/
-"Debian_9" {c46d614a-866f-4609-aaa0-0ae44a2af9bf} +   echo "WordPress Admin URL: http://$NODE_IP:$NODE_PORT/admin
-"Debian_9_1" {1c884792-f34a-4aae-95f4-eb2ad23156ee} + 
-"Manager" {2176d97f-4e8e-428b-8d88-c8234bfc8294} +2. Open a browser and access WordPress using the obtained URL. 
-"TargetA" {f552b529-3064-4791-a5d8-47c542f3b572} + 
-"TargetB{21aa961c-b181-41f7-9978-94e95131c16a} +3. Login with the following credentials below to see your blog: 
-"Web01{aa2afa3c-1fde-4723-8cd0-cf5d4941b8c8} + 
-"Web02" {1c02a19d-5adf-4c4e-9ab9-8816f4561e35} +  echo Username: helm-user 
-"Web03" {3bc94079-7dcf-41f3-964d-d7453e231658} +  echo Password: $(kubectl get secret --namespace dof309 wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d)
-"Web04" {692c1f49-7a0d-41c2-b5ef-3df055906216} +
-"Worker1" {0f976eda-895e-4022-a5ca-24946822d88a} +
-"Worker2" {00e75205-694c-4c60-9533-a294a008df2b} +
-"Windows10" {09710adb-3fde-4f56-a1c4-87ee5d5a40a2} +
-"CentOS_8" {1534479b-922f-4a16-b8ab-d4c64485f38b} +
-"Debian_10" {46bd607e-7c1a-4985-9437-5e5788460a09} +
-"CentOS_7 1" {5d0ce034-b759-4ccf-a449-28aea94a7d93} +
-"Debian_9 1" {f6c8c63b-68a0-40c0-ac0e-861397c80ff3} +
-"Debian_9_1 1" {3538f398-a7fc-48cf-a915-5aaa7dc0db1f} +
-"kubemaster 1" {6df7d88c-18a7-4f8f-a504-28b357b85583} +
-"kubemaster" {88755cef-524a-45ae-b64c-9d8274ce3d27} +
-"kubenode1" {e05d0605-36f9-4b8d-acc8-07e16152222d} +
-"kubenode2" {af2c11a5-19d3-4f22-82dd-b5f8fb6b1205} +
-"minikube" {1b656fb9-ea02-4b0c-baeb-f25dbd9813bd}+
 </code> </code>
  
-Pour détruire le cluster Kubernetes ainsi que la machine virtuelle **minikube**, il convient d'utiliser la commande **minikube delete** :+Vérifiez maintenant le nombre de Pods qui ont été démarrés :
  
 <code> <code>
-desktop@serverXX:~$ minikube delete +trainee@gateway:~$ kubectl get pods -n dof309 
-🔥  Deleting "minikube" in virtualbox ... +NAME                         READY   STATUS    RESTARTS        AGE 
-💀  Removed all traces of the "minikube" cluster.+wordpress-75b57d8d9b-9t4jw   0/    Running   1 (18m ago)     24m 
 +wordpress-75b57d8d9b-jtx58   0/    Running   1 (103s ago)    5m18s 
 +wordpress-779bd5776b-9jz8v   0/    Running   1 (56s ago)     5m18s 
 +wordpress-mariadb-0          0/1     Running   7 (3m31s ago)   24m
 </code> </code>
  
-Démarrez de nouveau minikube :+Visualisez les valeurs qui ont été utilisées lors de la mise-à-jour :
  
 <code> <code>
-desktop@serverXX:~$ minikube start +trainee@gateway:~$ helm get values wordpress -n dof309 
-😄  minikube v1.14.on Ubuntu 16.04 +USER-SUPPLIED VALUES: 
-✨  Using the virtualbox driver based on user configuration +replicaCount: 
-👍  Starting control plane node minikube in cluster minikube +resources: 
-🔥  Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... +  requests: 
-🐳  Preparing Kubernetes v1.19.2 on Docker 19.03.12 ... +    cpu: 100m 
-🔎  Verifying Kubernetes components... +    memory: 256Mi 
-🌟  Enabled addonsstorage-provisioner, default-storageclass +service: 
-💡  kubectl not found. If you need it, try'minikube kubectl -- get pods -A' +  typeNodePort 
-🏄  Donekubectl is now configured to use "minikube" by default +wordpressBlogNameLearn Helm
-desktop@serverXX:~$ minikube kubectl -- get pods -A +wordpressEmailhelm-user@i2tch.loc 
-NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE +wordpressFirstName: Helm 
-kube-system   coredns-f9fd979d6-gmzps            0/1     Pending            16s +wordpressLastName: User 
-kube-system   etcd-minikube                      0/1     Running            15s +wordpressPassword: my-pass 
-kube-system   kube-apiserver-minikube            1/1     Running            15s +wordpressUsername: helm-user
-kube-system   kube-controller-manager-minikube   0/    Running            15s +
-kube-system   kube-proxy-d4cs2                   1/    Running            16s +
-kube-system   kube-scheduler-minikube            0/1     Running            15s +
-kube-system   storage-provisioner                0/1     Pending            21s+
 </code> </code>
  
-Contrôlez la version de kubectl qui a été installée :+Exécutez de nouveau la mise-à-jour, cette fois **sans** spécifier le fichier de valeurs **wordpress-values.yaml** sur la ligne de commande :
  
 <code> <code>
-desktop@serverXX:~$ minikube kubectl version +trainee@gateway:~$ helm upgrade wordpress bitnami/wordpress -n dof309 --version 24.1.5 
-Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"} +Release "wordpresshas been upgradedHappy Helming! 
-Server Versionversion.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:58Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"+NAMEwordpress 
-</code>+LAST DEPLOYEDFri Dec 20 15:44:46 2024 
 +NAMESPACEdof309 
 +STATUSdeployed 
 +REVISION
 +TEST SUITENone 
 +NOTES: 
 +CHART NAMEwordpress 
 +CHART VERSION24.1.
 +APP VERSION6.7.1
  
-<WRAP center round important 60%> +Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain featuresunlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application CatalogSee https://www.arrow.com/globalecs/na/vendors/bitnami for more information.
-**Important** : La sortie de cette commande indique une version 1.19.2 de Kubernetes. Par conséquencenous avons besoin d'une version 3.4.x de Helm. +
-</WRAP>+
  
-La version de kubectl installée par minikube se trouve dans le répertoire **/home/desktop/.minikube/cache/linux/v1.19.2/** :+** Please be patient while the chart is being deployed **
  
-<code> +Your WordPress site can be accessed through the following DNS name from within your cluster: 
-desktop@serverXX:~$ ls -l /home/desktop/.minikube/cache/linux/v1.19.2/kubectl + 
--rwxr-xr-x 1 desktop desktop 43003904 Nov 13 15:53 /home/desktop/.minikube/cache/linux/v1.19.2/kubectl +    wordpress.dof309.svc.cluster.local (port 80) 
-</code>+ 
 +To access your WordPress site from outside the cluster follow the steps below:
  
-Pour une utilisation plus facile, copiez la commande vers le répertoire **/usr/local/bin/** :+1. Get the WordPress URL by running these commands:
  
-<code> +   export NODE_PORT=$(kubectl get --namespace dof309 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress) 
-desktop@serverXX:~sudo cp /home/desktop/.minikube/cache/linux/v1.19.2/kubectl /usr/local/bin +   export NODE_IP=$(kubectl get nodes --namespace dof309 -o jsonpath="{.items[0].status.addresses[0].address}"
-[sudo] password for desktop+   echo "WordPress URL: http://$NODE_IP:$NODE_PORT/
 +   echo "WordPress Admin URL: http://$NODE_IP:$NODE_PORT/admin" 
 + 
 +2Open a browser and access WordPress using the obtained URL
 + 
 +3. Login with the following credentials below to see your blog: 
 + 
 +  echo Username: helm-user 
 +  echo Password: $(kubectl get secret --namespace dof309 wordpress -o jsonpath="{.data.wordpress-password}" | base64 -d)
 </code> </code>
  
-Vérifiez ensuite que la commande est disponible :+Visualisez les valeurs qui ont été utilisées lors de la mise-à-jour :
  
 <code> <code>
-desktop@serverXX:~$ which kubectl +trainee@gateway:~$ helm get values wordpress -n dof309 
-/usr/local/bin/kubectl+USER-SUPPLIED VALUES: 
 +replicaCount:
 +resources: 
 +  requests: 
 +    cpu: 100m 
 +    memory: 256Mi 
 +service: 
 +  type: NodePort 
 +wordpressBlogName: Learn Helm! 
 +wordpressEmail: helm-user@i2tch.loc 
 +wordpressFirstName: Helm 
 +wordpressLastName: User 
 +wordpressPassword: my-pass 
 +wordpressUsername: helm-user
 </code> </code>
  
-====2.5 Mettre à jour Minikube====+<WRAP center round important 60%> 
 +**Important** : Notez que la commande helm a réutilisé les valeurs de la première mise-jour
 +</WRAP>
  
-Vérifiez maintenant si une mise à jour de minikube est disponible :+Vérifiez maintenant le nombre de Pods qui ont été démarrés :
  
 <code> <code>
-desktop@serverXX:~$ minikube update-check +trainee@gateway:~$ kubectl get pods -n dof309 
-CurrentVersion: v1.14.2 +NAME                         READY   STATUS             RESTARTS       AGE 
-LatestVersion: v1.15.1+wordpress-5f88d486d7-6hnbp   1/    Running            0              6m52s 
 +wordpress-mariadb-0          0/    CrashLoopBackOff   12 (41s ago)   49m
 </code> </code>
  
-Pour mettre à jour minikubearrêtez celui-ci et supprimer le cluster Kebernetes ainsi que la machine virtuelle :+====1.11 - La Commande helm history==== 
 + 
 +Helm utilise un système de **révisions**. Une nouvelle révision est créée à chaque installationmise-à-jour ou quand il y a un **rollback**. Pour voir la liste des révisions, utilisez la commande suivante :
  
 <code> <code>
-desktop@serverXX:~$ minikube stop +trainee@gateway:~$ helm history wordpress -n dof309 
-✋  Stopping node "minikube"  ... +REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION      
-🛑  nodes stopped+1               Fri Dec 20 15:14:17 2024        superseded      wordpress-24.1.5        6.7.1           Install complete 
-desktop@serverXX:~$ minikube delete +2               Fri Dec 20 15:33:45 2024        superseded      wordpress-24.1.5        6.7.1           Upgrade complete 
-🔥  Deleting "minikube" in virtualbox ... +3               Fri Dec 20 15:44:46 2024        superseded      wordpress-24.1.5        6.7.1           Upgrade complete 
-💀  Removed all traces of the "minikube" cluster+4               Fri Dec 20 15:57:01 2024        deployed        wordpress-24.1.5        6.7.1           Upgrade complete
 </code> </code>
  
-La configuration de minikube est stockée dans le répertoire **~/.minikube/** :+La commande **helm get values** peut être utilisée pour consulter la liste des valeurs pour chaque révision :
  
 <code> <code>
-desktop@serverXX:~$ ls -l .minikube/ +trainee@gateway:~$ helm get values wordpress --revision 3 -n dof309 
-total 64 +USER-SUPPLIED VALUES
-drwxrwxr-x 2 desktop desktop 4096 Nov 13 15:23 addons +replicaCount2 
-drwxrwxr-x 5 desktop desktop 4096 Nov 13 15:53 cache +resources
--rw-r--r-- 1 desktop desktop 1111 Nov 13 15:35 ca.crt +  requests
--rw------- 1 desktop desktop 1675 Nov 13 15:35 ca.key +    cpu100m 
--rwxrwxr-x 1 desktop desktop 1078 Nov 25 11:37 ca.pem +    memory256Mi 
--rwxrwxr-x 1 desktop desktop 1123 Nov 25 11:37 cert.pem +service
-drwxrwxr-x 2 desktop desktop 4096 Nov 13 15:34 certs +  typeNodePort 
-drwxrwxr-x 2 desktop desktop 4096 Nov 13 15:26 config +wordpressBlogNameLearn Helm! 
-drwxrwxr-x 2 desktop desktop 4096 Nov 13 15:23 files +wordpressEmail: helm-user@i2tch.loc 
--rwxrwxr-x 1 desktop desktop 1679 Nov 25 11:37 key.pem +wordpressFirstNameHelm 
--rw-r--r-- 1 desktop desktop   29 Nov 25 10:22 last_update_check +wordpressLastNameUser 
-drwxrwxr-x 2 desktop desktop 4096 Nov 13 15:23 logs +wordpressPassword: my-pass 
-drwxrwxr-x 2 desktop desktop 4096 Nov 28 17:34 machines +wordpressUsernamehelm-user 
-drwxrwxr-x 2 desktop desktop 4096 Nov 28 17:34 profiles + 
--rw-r--r-- 1 desktop desktop 1119 Nov 13 15:35 proxy-client-ca.crt +trainee@gateway:~$ helm get values wordpress --revision 4 -n dof309 
--rw------- desktop desktop 1679 Nov 13 15:35 proxy-client-ca.key+USER-SUPPLIED VALUES
 +replicaCount: 1
 </code> </code>
  
-Supprimez ce répertoire :+La commande **helm get manifest** peut être utilisée pour consulter l'état des ressources Kubernetes pour chaque révision :
  
 <code> <code>
-desktop@serverXX:~$ rm -rf .minikube+trainee@gateway:~$ helm get manifest wordpress --revision 4 -n dof309 | more 
 +--- 
 +# Source: wordpress/charts/mariadb/templates/networkpolicy.yaml 
 +kind: NetworkPolicy 
 +apiVersion: networking.k8s.io/v1 
 +metadata: 
 +  name: wordpress-mariadb 
 +  namespace: "dof309" 
 +  labels: 
 +    app.kubernetes.io/instance: wordpress 
 +    app.kubernetes.io/managed-by: Helm 
 +    app.kubernetes.io/name: mariadb 
 +    app.kubernetes.io/version: 11.4.4 
 +    helm.sh/chart: mariadb-20.2.1 
 +    app.kubernetes.io/part-of: mariadb 
 +spec: 
 +  podSelector: 
 +    matchLabels: 
 +      app.kubernetes.io/instance: wordpress 
 +      app.kubernetes.io/managed-by: Helm 
 +      app.kubernetes.io/name: mariadb 
 +      app.kubernetes.io/version: 11.4.4 
 +      helm.sh/chart: mariadb-20.2.1 
 +  policyTypes: 
 +    - Ingress 
 +    - Egress 
 +  egress: 
 +    - {} 
 +  ingress: 
 +    - ports: 
 +        - port: 3306 
 +        - port: 3306 
 +--- 
 +# Source: wordpress/templates/networkpolicy.yaml 
 +kind: NetworkPolicy 
 +apiVersion: networking.k8s.io/v1 
 +metadata: 
 +  name: wordpress 
 +  namespace: "dof309" 
 +  labels: 
 +    app.kubernetes.io/instance: wordpress 
 +    app.kubernetes.io/managed-by: Helm 
 +    app.kubernetes.io/name: wordpress 
 +    app.kubernetes.io/version: 6.7.1 
 +    helm.sh/chart: wordpress-24.1.5 
 +spec: 
 +  podSelector: 
 +    matchLabels: 
 +      app.kubernetes.io/instance: wordpress 
 +      app.kubernetes.io/name: wordpress 
 +  policyTypes: 
 +    - Ingress 
 +    - Egress 
 +  egress: 
 +    - {} 
 +  ingress: 
 +    - ports: 
 +        - port: 8080 
 +        - port: 8443 
 +--More--
 </code> </code>
  
-Téléchargez la nouvelle version de minikube :+====1.12 - La Commande helm rollback==== 
 + 
 +Pour revenir à une révision précédente il convient d'utilise la commande **helm rollback** :
  
 <code> <code>
-desktop@serverXX:~$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 +trainee@gateway:~$ helm rollback wordpress 3 -n dof309 
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current +Rollback was a success! Happy Helming!
-                                 Dload  Upload   Total   Spent    Left  Speed +
-100 53.5M  100 53.5M    0      10.1M      0  0:00:05  0:00:05 --:--:-- 10.8M +
-desktop@serverXX:~$ sudo install minikube-linux-amd64 /usr/local/bin/minikube +
-[sudo] password for desktop: +
 </code> </code>
  
-Configurez minikube comme indique précédement :+Il convient ensuite de vérifier que les valeurs actuelles sont bien celles de la révision ciblée :
  
 <code> <code>
-desktop@serverXX:~$ minikube config set vm-driver virtualbox +trainee@gateway:~$ helm get values wordpress -n dof309 
-❗  These changes will take effect upon a minikube delete and then a minikube start +USER-SUPPLIED VALUES: 
-desktop@serverXX:~$ minikube config set memory 4000 +replicaCount:
-❗  These changes will take effect upon a minikube delete and then a minikube start+resources: 
 +  requests: 
 +    cpu100m 
 +    memory: 256Mi 
 +service: 
 +  type: NodePort 
 +wordpressBlogName: Learn Helm! 
 +wordpressEmail: helm-user@i2tch.loc 
 +wordpressFirstName: Helm 
 +wordpressLastName: User 
 +wordpressPassword: my-pass 
 +wordpressUsername: helm-user
 </code> </code>
  
-Démarrez la nouvelle verstion de minikube :+Le Rollback est clairement indiqué dans la sortie de la commande **helm history** :
  
 <code> <code>
-desktop@serverXX:~$ minikube start +trainee@gateway:~$ helm history wordpress -n dof309 
-😄  minikube v1.15.1 on Ubuntu 16.04 +REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION      
-✨  Using the virtualbox driver based on user configuration +1               Fri Dec 20 15:14:17 2024        superseded      wordpress-24.1.5        6.7.1           Install complete 
-💿  Downloading VM boot image ... +2               Fri Dec 20 15:33:45 2024        superseded      wordpress-24.1.5        6.7.1           Upgrade complete 
-    > minikube-v1.15.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s +3               Fri Dec 20 15:44:46 2024        superseded      wordpress-24.1.5        6.7.1           Upgrade complete 
-    > minikube-v1.15.0.iso181.00 MiB / 181.00 MiB [ 100.00% 10.49 MiB p/s 17s +              Fri Dec 20 15:57:01 2024        superseded      wordpress-24.1.5        6.7.1           Upgrade complete 
-👍  Starting control plane node minikube in cluster minikube +5               Fri Dec 20 16:09:02 2024        deployed        wordpress-24.1.5        6.7.1           Rollback to 3      
-💾  Downloading Kubernetes v1.19.preload ... +
-    > preloaded-images-k8s-v6-v1.19.4-docker-overlay2-amd64.tar.lz4486.35 MiB +
-🔥  Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... +
-🐳  Preparing Kubernetes v1.19.4 on Docker 19.03.13 ... +
-🔎  Verifying Kubernetes components... +
-🌟  Enabled addons: default-storageclass, storage-provisioner +
-🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default+
 </code> </code>
  
-Vérifiez la version de minikube :+====1.13 - La Commande helm uninstall==== 
 + 
 +La désinstallation d'un Chart se fait en utilisant la commande **helm uninstall**. Par défaut cette commande supprime aussi l'historique des révisions sauf si l'option **--keep-history** est spécifiée sur la ligne de commande. Supprimez donc le Chart wordpress ainsi que l'historique des révisions :
  
 <code> <code>
-desktop@serverXX:~$ minikube version +trainee@gateway:~$ helm uninstall wordpress -n dof309 
-minikube version: v1.15.1 +release "wordpress" uninstalled
-commit: 23f40a012abb52eff365ff99a709501a61ac+
 </code> </code>
  
-Téléchargez le binaire **kubectl** :+La commande **helm list** démontre cette suppression :
  
 <code> <code>
-desktop@serverXX:~$ minikube kubectl -- get pods -A +trainee@gateway:~$ helm list -n dof309 
-    > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s +NAME    NAMESPACE       REVISION        UPDATED STATUS  CHART   APP VERSION
-    > kubectl: 41.01 MiB / 41.01 MiB [----------------] 100.00% 8.45 MiB p/s 5s +
-NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE +
-kube-system   coredns-f9fd979d6-tb259            1/1     Running            73s +
-kube-system   etcd-minikube                      0/1     Running            72s +
-kube-system   kube-apiserver-minikube            1/1     Running            72s +
-kube-system   kube-controller-manager-minikube   0/    Running            72s +
-kube-system   kube-proxy-plnnh                   1/    Running            73s +
-kube-system   kube-scheduler-minikube            0/1     Running            72s +
-kube-system   storage-provisioner                1/1     Running   0          78s+
 </code> </code>
  
-Contrôlez la version de kubectl qui a été installée :+ainsi qua la sortie de la commande **kubectl get deployments** :
  
 <code> <code>
-desktop@serverXX:~$ minikube kubectl version +trainee@gateway:~$ kubectl get deployments -l app=wordpress -n dof309 
-Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:17:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"} +No resources found in dof309 namespace.
-Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:09:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}+
 </code> </code>
  
-<WRAP center round important 60%> +Par contre la commande **helm unistall** ne supprime **pas** le **PersistentVolumeClaim** créé lors de l'installation du Chart :
-**Important** : La sortie de cette commande indique une version 1.19.4 de Kubernetes.  +
-</WRAP> +
- +
-La version de kubectl installée par minikube se trouve dans le répertoire **/home/desktop/.minikube/cache/linux/v1.19.4/** :+
  
 <code> <code>
-desktop@serverXX:~$ ls -l /home/desktop/.minikube/cache/linux/v1.19.4/kubectl +trainee@gateway:~$ kubectl get pvc -n dof309 
--rwxr-xr-x 1 desktop desktop 43003904 Nov 28 17:56 /home/desktop/.minikube/cache/linux/v1.19.4/kubectl+NAME                       STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE 
 +data-wordpress-mariadb-0   Bound    pvc-71bba44c-9af2-44c9-9e59-103efdf1b29b   8Gi        RWO            standard       <unset>                 56m
 </code> </code>
  
-Pour une utilisation plus facilecopiez la commande vers le répertoire **/usr/local/bin/** :+Pour supprimer le **PersistentVolumeClaim**il est necéssaire d'utilise la commande **kubectl delete pvc** avec l'option **--field-selector** :
  
 <code> <code>
-desktop@serverXX:~$ sudo rm -f /usr/local/bin/kubectl  +trainee@gateway:~$ kubectl delete pvc --field-selector metadata.name=data-wordpress-mariadb-0 -n dof309 
-[sudo] password for desktop:  +persistentvolumeclaim "data-wordpress-mariadb-0" deleted
-desktop@serverXX:~$ sudo cp /home/desktop/.minikube/cache/linux/v1.19.4/kubectl /usr/local/bin+
 </code> </code>
  
-Vérifiez ensuite que la commande est disponible :+Le **PersistentVolumeClaim** se trouve de cette manière supprimé :
  
 <code> <code>
-desktop@serverXX:~$ which kubectl +trainee@gateway:~$ kubectl get pvc -n dof309 
-/usr/local/bin/kubectl+No resources found in dof309 namespace
 </code> </code>
  
-====2.6 La Commande minikube dashboard====+=====LAB #2 - Supervision de Kubernetes avec le Stack EFK=====
  
-Minikube embarque l'application **Kubernetes Dashboard**Pour consulter le Dashboard, ouvrez une connexion à votre serveur cloud en mode graphique. Naviguez au site **[[https://wiki.x2go.org/doku.php/download:start]]** et téléchargez le client X2Go pour votre architecture (Linux, Window(tm) ou macOS(tm)):+====2.1 - Présentation du Stack EFK====
  
-{{ :elearning:workbooks:x2go00.png?nolink&1000 |}}+Le stack EFK est composé de trois éléments :
  
-Installez le client, ouvrez l'application et créez une nouvelle session en **remplaçant** la valeur **XX** par le **numéro du serveur** qui vous a été communiqué par votre formateur :+  * **[[https://www.elastic.co/fr/start|Elasticsearch]]** qui assure : 
 +    * le stockage des métriques et journaux, 
 +  * **[[https://www.fluentd.org/|Fluentd]]** qui assure : 
 +    la collecte des données brutes de Kubernetes, 
 +    l'envoie des métriques et journaux à Elasticsearch, 
 +  * **[[https://www.elastic.co/products/kibana|Kibana]]** qui permet : 
 +    * la visualisation des données stockées dans Elasticsearch.
  
-{{ :elearning:workbooks:x2go01.png?nolink&600 |}}+Avant de poursuivre, arrêtez minikube et augmentez la mémoire de sa machine virtuelle à 12 294 Mo et le nombre de vCPUs à 4 :
  
-Vous verrez apparaître une boîte represantant votre nouvelle connexion à droite de l'écran :+<code> 
 +trainee@gateway:~$ minikube stop 
 +✋  Stopping node "minikube"  ... 
 +🛑  1 node stopped.
  
-{{ :elearning:workbooks:x2go02.png?nolink&1200 |}}+trainee@gateway:~$ minikube delete 
 +🔥  Deleting "minikube" in virtualbox ... 
 +💀  Removed all traces of the "minikube" cluster.
  
-Cliquez sur cette boîte puis renseignez le mot de passe de votre serveur dans le cloud et cliquez sur le bouton **ok** :+trainee@gateway:~$ minikube config set memory 12294 
 +❗  These changes will take effect upon a minikube delete and then a minikube start
  
-{{ :elearning:workbooks:x2go03.png?nolink&1200 |}}+trainee@gateway:~$ minikube config set cpus 4 
 +❗  These changes will take effect upon a minikube delete and then a minikube start
  
-A l'issu de quelques minutes vou aurez accès à votre serveur dans le cloud en mode graphique :+trainee@gateway:~$ minikube start 
 +😄  minikube v1.26.0 on Debian 11.3 (kvm/amd64) 
 +✨  Using the virtualbox driver based on user configuration 
 +👍  Starting control plane node minikube in cluster minikube 
 +🔥  Creating virtualbox VM (CPUs=4, Memory=12294MB, Disk=20000MB) ... 
 +🐳  Preparing Kubernetes v1.24.1 on Docker 20.10.16 ... 
 +    ▪ Generating certificates and keys ... 
 +    ▪ Booting up control plane ... 
 +    ▪ Configuring RBAC rules ... 
 +╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ 
 +│                                                                                                   │ 
 +│    You have selected "virtualbox" driver, but there are better options !                          │ 
 +│    For better performance and support consider using a different driver:                          │ 
 +│            - kvm2                                                                                 │ 
 +│            - qemu2                                                                                │ 
 +│                                                                                                   │ 
 +│    To turn off this warning run:                                                                  │ 
 +│                                                                                                   │ 
 +│            $ minikube config set WantVirtualBoxDriverWarning false                                │ 
 +│                                                                                                   │ 
 +│                                                                                                   │ 
 +│    To learn more about on minikube drivers checkout https://minikube.sigs.k8s.io/docs/drivers/    │ 
 +│    To see benchmarks checkout https://minikube.sigs.k8s.io/docs/benchmarks/cpuusage/              │ 
 +│                                                                                                   │ 
 +╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ 
 +🔎  Verifying Kubernetes components... 
 +    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 
 +🌟  Enabled addons: storage-provisioner, default-storageclass 
 +🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default 
 +</code>
  
-{{ :elearning:workbooks:x2go04.png?nolink&600 |}}+====2.2 - Installation du Chart elasticsearch====
  
-Ouvrez un terminal en mode graphique et exécutez la commande **minikube dashboard** :+Commencez par installer le **repository** stable de **https://charts.helm.sh** :
  
 <code> <code>
-desktop@serverXX:~$ minikube dashboard +trainee@gateway:~$ helm repo add stable https://charts.helm.sh/stable 
-* Verifying dashboard health ... +"stable" has been added to your repositories
-* Launching proxy ... +
-* Verifying proxy health ... +
-* Opening http://127.0.0.1:44979/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser... +
 </code> </code>
  
-Le navigateur Firefox sera lancé vous donnant accès à Kubernetes Dashboard :+Installez ensuite le Chart helm **elasticsearch** :
  
-{{ :elearning:workbooks:kubernetes:capture_d_ecran_du_2020-11-29_13-07-01.png?nolink&1200 |}}+<code> 
 +trainee@gateway:~$ helm install elasticsearch stable/elasticsearch  
 +WARNINGThis chart is deprecated 
 +NAMEelasticsearch 
 +LAST DEPLOYEDSat Jul 16 11:27:22 2022 
 +NAMESPACE: default 
 +STATUS: deployed 
 +REVISION: 1 
 +NOTES: 
 +This Helm chart is deprecated. Please use https://github.com/elastic/helm-charts/tree/master/elasticsearch instead.
  
-Revenez à la fenêtre de connexion en SSH à votre serveur.+---
  
-====2.7 - La Commande minikube addons====+The elasticsearch cluster has been installed.
  
-Minikube utilise des modules. Ces modules sont appelés des **addons**. Pour consulter les addons installés ainsi que leurs statuts, utilisez la commande **minikube addons list** :+Elasticsearch can be accessed:
  
 +  * Within your cluster, at the following DNS name at port 9200:
  
-<code> +    elasticsearch-client.default.svc 
-desktop@serverXX:~$ minikube addons list + 
-|-----------------------------|----------|--------------| +  * From outside the cluster, run these commands in the same shell: 
-|         ADDON NAME          | PROFILE  |    STATUS    | + 
-|-----------------------------|----------|--------------| +    export POD_NAME=$(kubectl get pods --namespace default -l "app=elasticsearch,component=client,release=elasticsearch" -o jsonpath="{.items[0].metadata.name}") 
-| ambassador                  | minikube | disabled     +    echo "Visit http://127.0.0.1:9200 to use Elasticsearch" 
-| csi-hostpath-driver         | minikube | disabled     | +    kubectl port-forward --namespace default $POD_NAME 9200:9200
-| dashboard                   | minikube | enabled ✅   | +
-default-storageclass        | minikube | enabled ✅   | +
-| efk                         | minikube | disabled     | +
-| freshpod                    | minikube | disabled     | +
-| gcp-auth                    | minikube | disabled     | +
-| gvisor                      | minikube | disabled     | +
-| helm-tiller                 | minikube | disabled     | +
-| ingress                     | minikube | disabled     | +
-| ingress-dns                 | minikube | disabled     | +
-| istio                       | minikube | disabled     | +
-| istio-provisioner           | minikube | disabled     | +
-| kubevirt                    | minikube | disabled     | +
-| logviewer                   | minikube | disabled     | +
-| metallb                     | minikube | disabled     | +
-| metrics-server              | minikube | disabled     | +
-| nvidia-driver-installer     | minikube | disabled     | +
-| nvidia-gpu-device-plugin    | minikube | disabled     | +
-| olm                         | minikube | disabled     | +
-| pod-security-policy         | minikube | disabled     | +
-| registry                    | minikube | disabled     | +
-| registry-aliases            | minikube | disabled     | +
-| registry-creds              | minikube | disabled     | +
-| storage-provisioner         | minikube | enabled ✅   | +
-| storage-provisioner-gluster | minikube | disabled     | +
-| volumesnapshots             | minikube | disabled     | +
-|-----------------------------|----------|--------------|+
 </code> </code>
  
-Pour activer le module **metrics-server**, utilisez la commande **minikube addons enable** :+Patientez quelques minutes afin que tous les Pods affichent un état de **READY** :
  
 <code> <code>
-desktop@serverXX:~$ minikube addons enable metrics-server +trainee@gateway:~$ kubectl get pods 
-🌟  The 'metrics-server' addon is enabled+NAME                                    READY   STATUS    RESTARTS   AGE 
 +elasticsearch-client-7869bf97bb-tb25p   1/    Running            5m50s 
 +elasticsearch-client-7869bf97bb-zvl6h   1/    Running            5m49s 
 +elasticsearch-data-0                    1/1     Running            5m49s 
 +elasticsearch-data-1                    1/1     Running            2m37s 
 +elasticsearch-master-0                  1/1     Running            5m49s 
 +elasticsearch-master-1                  1/1     Running            2m37s 
 +elasticsearch-master-2                  1/1     Running            65s
 </code> </code>
  
-Vérifiez maintenant la prise en compte de la commande précédente :+Vérifiez ensuite la présence des services **elasticsearch-client** et **elasticsearch-discovery** :
  
 <code> <code>
-desktop@serverXX:~$ minikube addons list +trainee@gateway:~$ kubectl get services 
-|-----------------------------|----------|--------------| +NAME                      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE 
-|         ADDON NAME          | PROFILE  |    STATUS    | +elasticsearch-client      ClusterIP   10.106.34.82   <none>        9200/TCP   8m23s 
-|-----------------------------|----------|--------------| +elasticsearch-discovery   ClusterIP   None           <none>        9300/TCP   8m23s 
-| ambassador                  | minikube | disabled     +kubernetes                ClusterIP   10.96.0.1      <none>        443/TCP    10m
-| csi-hostpath-driver         | minikube | disabled     | +
-| dashboard                   | minikube | enabled ✅   | +
-| default-storageclass        | minikube | enabled ✅   | +
-| efk                         | minikube | disabled     | +
-| freshpod                    | minikube | disabled     | +
-| gcp-auth                    | minikube | disabled     | +
-| gvisor                      | minikube | disabled     | +
-| helm-tiller                 | minikube | disabled     | +
-| ingress                     | minikube | disabled     | +
-| ingress-dns                 | minikube | disabled     | +
-| istio                       | minikube | disabled     | +
-| istio-provisioner           | minikube | disabled     | +
-| kubevirt                    | minikube | disabled     | +
-| logviewer                   | minikube | disabled     | +
-| metallb                     | minikube | disabled     | +
-| metrics-server              | minikube | enabled ✅   +
-| nvidia-driver-installer     | minikube | disabled     | +
-| nvidia-gpu-device-plugin    | minikube | disabled     | +
-| olm                         | minikube | disabled     | +
-| pod-security-policy         | minikube | disabled     | +
-| registry                    | minikube | disabled     | +
-| registry-aliases            | minikube | disabled     | +
-| registry-creds              | minikube | disabled     | +
-| storage-provisioner         | minikube | enabled ✅   | +
-| storage-provisioner-gluster | minikube | disabled     | +
-| volumesnapshots             | minikube | disabled     | +
-|-----------------------------|----------|--------------|+
 </code> </code>
  
-=====LAB #3 - Création du Cluster Kubernetes avec kind=====+====2.3 - Installation du Chart fluentd-elasticsearch====
  
-====3.1 Présentation de kind====+Installez le Chart helm **fluentd-elasticsearch** à partir du repository **stable** :
  
-kind est un outil utilisé pour exécuter un cluster Kubernetes localement en utilisant des conteneurs Docker en tant que nœudskind a été développé pour tester Kubernetes lui-même mais peut aussi être utilisé pour du développement local.+<code> 
 +trainee@gateway:~$ helm install fluentd stable/fluentd-elasticsearch --set elasticsearch.host=elasticsearch-client 
 +WARNING: This chart is deprecated 
 +W0716 12:20:08.692464    7135 warnings.go:70] spec.template.metadata.annotations[scheduler.alpha.kubernetes.io/critical-pod]: non-functional in v1.16+; use the "priorityClassName" field instead 
 +NAME: fluentd 
 +LAST DEPLOYED: Sat Jul 16 12:20:07 2022 
 +NAMESPACE: default 
 +STATUS: deployed 
 +REVISION: 1 
 +TEST SUITE: None 
 +NOTES: 
 +1To verify that Fluentd has started, run:
  
-Le site web de kind est **[[https://kind.sigs.k8s.io/docs/user/quick-start/]]**Le lien du projet sur **github** est **[[https://github.com/kubernetes-sigs/kind]]**.+  kubectl --namespace=default get pods -l "app.kubernetes.io/name=fluentd-elasticsearch,app.kubernetes.io/instance=fluentd"
  
-====3.2 - Installation de Docker-CE dans la VM Debian_10====+THIS APPLICATION CAPTURES ALL CONSOLE OUTPUT AND FORWARDS IT TO elasticsearch Anything that might be identifying, 
 +including things like IP addresses, container images, and object names will NOT be anonymized. 
 +</code>
  
-Commencez par augmenter la RAM de la machine virtuelle Debian_10 :+<WRAP center round important 60%> 
 +**Important** : Fluentd a besoin de connaître l’emplacement de l'hôte Elasticsearch. Dans notre cas, la valeur est **elasticsearch-client**. Notez donc l'utilisation sur la ligne de commande de l'option **--set elasticsearch.host=**. 
 +</WRAP> 
 + 
 +Patientez quelques secondes afin que le Pod **fluentd-fluentd-elasticsearch-xxxxx** affiche un état de **READY** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage modifyvm Debian_10 --memory 8192+trainee@gateway:~$ kubectl get pods 
 +NAME                                    READY   STATUS    RESTARTS   AGE 
 +elasticsearch-client-7869bf97bb-tb25p   1/    Running            10m 
 +elasticsearch-client-7869bf97bb-zvl6h   1/    Running            10m 
 +elasticsearch-data-0                    1/1     Running            10m 
 +elasticsearch-data-1                    1/1     Running            6m51s 
 +elasticsearch-master-0                  1/1     Running            10m 
 +elasticsearch-master-1                  1/1     Running            6m51s 
 +elasticsearch-master-2                  1/1     Running            5m19s 
 +fluentd-fluentd-elasticsearch-znvq5     1/    Running            62s
 </code> </code>
  
-Configurez ensuite la redirection de port pour le service ssh :+<WRAP center round important 60%> 
 +**Important** : Notez que dans le cas de l'utilisation de minikube, nous n'avons qu'un seul nœud dans le cluster Kubernetes. Pour cette raison, nous avons installé qu'un seul Pod Fluentd avec Helm sans passer par un DaemonSet. 
 +</WRAP>
  
-<code> +====2.4 Installation du Chart kibana====
-desktop@serverXX:~$ VBoxManage modifyvm "Debian_10" --natpf1 "Debian_10,tcp,,9022,,22" +
-</code>+
  
-Démarrez la machine virtuelle Debian_10 :+Kibana a aussi besoin de connaître l'emplacement de l'hôte Elasticsearch. Cette fois-ci, la valeur sera incluse dans un fichier de **values**. Créez donc le fichier **kibana-values.yaml** :
  
 <code> <code>
-desktop@serverXX:~$ VBoxManage startvm Debian_10 --type headless +trainee@gateway:~$ vi kibana-values.yaml 
-Waiting for VM "Debian_10" to power on... +trainee@gateway:~$ cat kibana-values.yaml 
-VM "Debian_10has been successfully started.+files: 
 +  kibana.yml: 
 +    ## Default Kibana configuration from kibana-docker. 
 +    server.name: kibana 
 +    server.host: "0" 
 +    ## For kibana < 6.6, use elasticsearch.url instead 
 +    elasticsearch.hosts: http://elasticsearch-client:9200 
 +service: 
 +  type: NodePort
 </code> </code>
  
-Patientez 2 minutes puis connectez-vous à la machine virtuelle :+<WRAP center round important 60%> 
 +**Important** : Notez la création d'un service de type **NodePort**. Dans le cas de l'utilisation du DaemonSet, nous aurions créé un service **ClusterIP*** de type **LoadBalancer**. 
 +</WRAP> 
 + 
 +Installez donc le Chart Helm kibana à partir du repository **stable** en référençant le fichier **values** **kibana-values.yaml** :
  
 <code> <code>
-desktop@serverXX:~$ ssh -l trainee localhost -p 9022 +trainee@gateway:~$ helm install kibana stable/kibana -f kibana-values.yaml 
-trainee@localhost's password:  +WARNINGThis chart is deprecated 
-Linux debian10 4.19.0-6-amd64 #SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64+NAME: kibana 
 +LAST DEPLOYED: Sat Jul 16 12:22:57 2022 
 +NAMESPACE: default 
 +STATUS: deployed 
 +REVISION: 1 
 +NOTES: 
 +THE CHART HAS BEEN DEPRECATED! 
  
-The programs included with the Debian GNU/Linux system are free software; +Find the new  official version @ https://github.com/elastic/helm-charts/tree/master/kibana
-the exact distribution terms for each program are described in the +
-individual files in /usr/share/doc/*/copyright.+
  
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTYto the extent +To verify that kibana has startedrun:
-permitted by applicable law. +
-Last loginMon Nov 30 15:50:01 2020 from 10.0.2.2 +
-</code>+
  
-Installez ensuite Docker-CE :+  kubectl --namespace=default get pods -l "app=kibana"
  
-<code> +Kibana can be accessed:
-trainee@debian10:~$ su - +
-Password: fenestros +
-root@debian10:~# +
  
-root@debian10:~# apt-get update && apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg2 +  * From outside the clusterrun these commands in the same shell:
-... +
-root@debian10:~# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - +
-... +
-root@debian10:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" +
-... +
-root@debian10:~# apt-get update && apt-get install -y containerd.io=1.2.13-2 docker-ce=5:19.03.11~3-0~debian-$(lsb_release -cs) docker-ce-cli=5:19.03.11~3-0~debian-$(lsb_release -cs) +
-... +
-root@debian10:~# vi /etc/docker/daemon.json +
-root@debian10:~# cat /etc/docker/daemon.json +
-+
-  "exec-opts": ["native.cgroupdriver=systemd"], +
-  "log-driver": "json-file", +
-  "log-opts":+
-    "max-size": "100m" +
-  }, +
-  "storage-driver": "overlay2" +
-+
-root@debian10:~# mkdir -p /etc/systemd/system/docker.service.d +
-root@debian10:~# systemctl daemon-reload +
-root@debian10:~# systemctl restart docker +
-root@debian10:~# docker version +
-Client: Docker Engine - Community +
- Version:           19.03.11 +
- API version:       1.40 +
- Go version:        go1.13.10 +
- Git commit:        42e35e61f3 +
- Built:             Mon Jun  1 09:12:44 2020 +
- OS/Arch:           linux/amd64 +
- Experimental     false+
  
-Server: Docker Engine Community +    export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services kibana
- Engine: +    export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") 
-  Version:          19.03.11 +    echo http://$NODE_IP:$NODE_PORT
-  API version:      1.40 (minimum version 1.12+
-  Go version:       go1.13.10 +
-  Git commit:       42e35e61f3 +
-  Built:            Mon Jun  1 09:11:17 2020 +
-  OS/Arch:          linux/amd64 +
-  Experimental:     false +
- containerd: +
-  Version:          1.2.13 +
-  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429 +
- runc: +
-  Version:          1.0.0-rc10 +
-  GitCommit       dc9208a3303feef5b3839f4323d9beb36df0a9dd +
- docker-init: +
-  Version:          0.18.0 +
-  GitCommit       fec3683+
 </code> </code>
  
-====3.3 - Installation de kubelet, kubeadm et kubectl==== +Notez les instructions à la fin de la sortie précédente qui indiquent comment atteindre Kibana de l'extérieur du cluster. Créez donc les deux variables **NODE_PORT** et **NODE_IP** et exécutez la commande **echo** afin d'obtenir le socket de connexion à Kibana. Notez cette information :
- +
-Ajoutez la clef GPG pour le dépôt Kubernetes :+
  
 <code> <code>
-root@debian10:~# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - +trainee@gateway:~$ export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services kibana) 
-OK+trainee@gateway:~$ export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}"
 +trainee@gateway:~$ echo http://$NODE_IP:$NODE_PORT 
 +http://192.168.59.101:30812
 </code> </code>
  
-Ajoutez le dépôt de Kubernetes :+Patientez quelques minutes afin que le Pod **kibana-yyyyyyyyy-xxxxx** affiche un état de **READY** :
  
 <code> <code>
-root@debian10:~# echo "deb https://apt.kubernetes.iokubernetes-xenial main" | tee -/etc/apt/sources.list.d/kubernetes.list +trainee@gateway:~$ kubectl get pods 
-deb https://apt.kubernetes.io/ kubernetes-xenial main+NAME                                    READY   STATUS    RESTARTS   AGE 
 +elasticsearch-client-7869bf97bb-tb25p   1/1     Running            14m 
 +elasticsearch-client-7869bf97bb-zvl6h   1/1     Running            14m 
 +elasticsearch-data-0                    1/1     Running            14m 
 +elasticsearch-data-1                    1/1     Running            11m 
 +elasticsearch-master-0                  1/1     Running            14m 
 +elasticsearch-master-1                  1/1     Running            11m 
 +elasticsearch-master-2                  1/1     Running            9m28s 
 +fluentd-fluentd-elasticsearch-znvq5     1/1     Running            5m11s 
 +kibana-74cd958bd4-qxmtc                 1/    Running            2m21s
 </code> </code>
  
-Procédez à l'installation de kubeadm, kubelet et kubectl :+Vérifiez ensuite la présence du service **NodePort** :
  
 <code> <code>
-root@debian10:~# apt-get update && apt-get install -y kubeadm kubelet kubectl+trainee@gateway:~$ kubectl get services 
 +NAME                      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE 
 +elasticsearch-client      ClusterIP   10.106.34.82   <none>        9200/TCP        14m 
 +elasticsearch-discovery   ClusterIP   None           <none>        9300/TCP        14m 
 +kibana                    NodePort    10.97.180.37   <none>        443:30812/TCP   2m49s 
 +kubernetes                ClusterIP   10.96.0.1      <none>        443/TCP         16m
 </code> </code>
  
-Bloquez les mises-à-jour de kubeadm, kubelet et kubectl :+====2.5 Génération de Traces dans Kubernetes==== 
 + 
 +Créez maintenant un fichier **counter.yaml** afin de créer un Pod qui générera des logs de démonstration en continu :
  
 <code> <code>
-root@debian10:~# apt-mark hold kubelet kubeadm kubectl +trainee@gateway:~$ vi counter.yaml 
-kubelet set on hold+trainee@gateway:~$ cat counter.yaml 
-kubeadm set on hold+## counter.yaml 
-kubectl set on hold.+apiVersion: v1 
 +kind: Pod 
 +metadata: 
 +  name: counter 
 +spec: 
 +  containers: 
 +  - name: count 
 +    image: busybox 
 +    args: [/bin/sh, -c, 'i=0; while true; do echo "Demo log $i: $(date)"; i=$((i+1)); sleep 1; done']
 </code> </code>
  
-====3.4 - Installation de kind et Démarrage du Cluster==== +Appliquez ce fichier avec la commande **kubecl** :
- +
-Installez **kind** :+
  
 <code> <code>
-root@debian10:~# curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64 +trainee@gateway:~$ kubectl apply -f counter.yaml 
-  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current +pod/counter created
-                                 Dload  Upload   Total   Spent    Left  Speed +
-100    97  100    97    0        339      0 --:--:-- --:--:-- --:--:--   337 +
-100   642  100   642    0       1414      0 --:--:-- --:--:-- --:--:--  1414 +
-100 7247k  100 7247k    0      3549k      0  0:00:02  0:00:02 --:--:-- 9522k +
-root@debian10:~# chmod +x ./kind +
-root@debian10:~# mv kind /usr/local/bin/ +
-root@debian10:~# which kind +
-/usr/local/bin/kind+
 </code> </code>
  
-Re-démarrez la machine virtuelle :+Vérifiez que le Pod **counter** soit bien en état de **READY** :
  
 <code> <code>
-root@debian10:~# shutdown -r now+trainee@gateway:~$ kubectl get pods 
 +NAME                                    READY   STATUS    RESTARTS   AGE 
 +counter                                 1/    Running            17s 
 +elasticsearch-client-7869bf97bb-tb25p   1/    Running            16m 
 +elasticsearch-client-7869bf97bb-zvl6h   1/    Running            16m 
 +elasticsearch-data-0                    1/1     Running            16m 
 +elasticsearch-data-1                    1/1     Running            13m 
 +elasticsearch-master-0                  1/1     Running            16m 
 +elasticsearch-master-1                  1/1     Running            13m 
 +elasticsearch-master-2                  1/1     Running            11m 
 +fluentd-fluentd-elasticsearch-znvq5     1/    Running            7m15s 
 +kibana-74cd958bd4-qxmtc                 1/    Running            4m25s
 </code> </code>
  
-Connectez-vous à la machine virtuelle Debian_10 :+====2.6 Visualisation des Données avec Kibana====
  
-<code> +Connectez-vous à votre VM Gateway en mode VNC en utilisant Apache Guacamole ou via une connexion RDP
-desktop@serverXX:~$ ssh -l trainee localhost -p 9022 +
-trainee@localhost's password: trainee +
-Linux debian10 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64+
  
-The programs included with the Debian GNU/Linux system are free software; +Ouvrez le navigateur FireFox et saisissez l'adresse que vous avez obtenu en exécutant la commande **echo** ci-dessus
-the exact distribution terms for each program are described in the +
-individual files in /usr/share/doc/*/copyright.+
  
-Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +{{ :elearning:workbooks:kubernetes:kibana01.png?600 |}}
-permitted by applicable law. +
-Last loginMon Nov 30 13:47:09 2020 from 10.0.2.+
-</code>+
  
-Devenez **root** et créez le fichier **config.yaml** :+Cliquez sur **Explore on my own** > **Management** > **Index Patterns**, ensuite, dans **Create index pattern**, renseignez la valeur **logstash-*** et cliquez sur le bouton **Next step** :
  
-<code> +{{ :elearning:workbooks:kubernetes:kibana02.png?600 |}}
-trainee@debian10:~$ su - +
-Passwordfenestros +
-root@debian10:~# vi config.yaml +
-root@debian10:~# cat config.yaml +
-kind: Cluster +
-apiVersion: kind.x-k8s.io/v1alpha4 +
-kubeadmConfigPatches: +
-| +
-  apiVersion: kubelet.config.k8s.io/v1beta1 +
-  kind: KubeletConfiguration +
-  evictionHard: +
-    nodefs.available: "0%" +
-kubeadmConfigPatchesJSON6902: +
-- group: kubeadm.k8s.io +
-  version: v1beta2 +
-  kind: ClusterConfiguration +
-  patch: | +
-    - op: add +
-      path: /apiServer/certSANs/+
-      value: my-hostname +
-nodes: +
-- role: control-plane +
-- role: worker +
-- role: worker +
-- role: worker +
-</code>+
  
-Créez un cluster avec **kind** :+Dans l'étape 2/2, renseignez la valeur de **@timestamp**  puis cliquez sur le bouton **Create index pattern** :
  
-<code> +{{ :elearning:workbooks:kubernetes:kibana03.png?600 |}}
-root@debian10:~# kind create cluster --config config.yaml +
-Creating cluster "kind" ... +
- ✓ Ensuring node image (kindest/node:v1.19.1) 🖼  +
- ✓ Preparing nodes 📦 📦 📦 📦   +
- ✓ Writing configuration 📜  +
- ✓ Starting control-plane 🕹️  +
- ✓ Installing CNI 🔌  +
- ✓ Installing StorageClass 💾  +
- ✓ Joining worker nodes 🚜  +
-Set kubectl context to "kind-kind" +
-You can now use your cluster with:+
  
-kubectl cluster-info --context kind-kind+Cliquez sur le lien **Discover** dans le menu de Kibana. Sélectionnez **logstash-*** puis choisissez **@timestamp** dans **Available fields** et cliquez sur le bouton **Add** :
  
-Not sure what to do next? 😅  Check out https://kind.sigs.k8s.io/docs/user/quick-start/ +{{ :elearning:workbooks:kubernetes:kibana04.png?600 |}} 
-</code>+ 
 +Appliquez un filtre en cliquant sur le champ **kubernetes.pod_name** : 
 + 
 +{{ :elearning:workbooks:kubernetes:kibana05.png?600 |}} 
 + 
 +Cliquez sur la loupe **+** en face de la ligne **counter** puis sur le bouton **Add** en face du nom du champs : 
 + 
 +{{ :elearning:workbooks:kubernetes:kibana06.png?600 |}}
  
 ---- ----
-<html> +Copyright © 2024 Hugh Norris
-<DIV ALIGN="CENTER"> +
-Copyright © 2020 Hugh Norris+
-</div> +
-</html>+
Menu