Académique Documents
Professionnel Documents
Culture Documents
COMPUTING
RAPPORT DU TP
KUBERNETES
2022
PRÉPARÉ PAR
HACHHACH MANAL
ZAIMI SOUKAINA
CREATION DE L'INFRASTRUCTURE
Dans cette section, nous avons commencer par créer trois Volumes
dans l'OpenStack avec l'image snap-tpkube-2022 comme Volume
Source. Ensuite, nous avons créer trois machines avec 2 vCPU, 4 Go
de RAM, réseau vlan1383 ou vlan1368 et avec les volumes
précédemment créés comme sources de démarrage .
DÉPLOIEMENT DU CLUSTER
Préparation de nœuds
1.SSH
Nous avons créer une paire de clefs ssh sans passphrase sur le
nœud Master (commande ssh-keygen)
PAGE 02
Finalement on a testé si le nœud Master arrive à se connecter en
ssh sur tous les nœuds (y compris sur lui-même).
2.Proxy
Ajoutez la variable NO_PROXY dans les variables d'environnement
sur toutes les machines
- Ajoutez la ligne à la fin du fichier /etc/environment
PAGE 03
Pour redémarrez toutes les machines : $ sudo reboot , après click
sur R (restart).
PAGE 03
Démarrez le cluster Kubernetes avec RKE
UTILISATION DU CLUSTER
PAGE 04
Vérifiez l'accessibilité du Pod en interrogeant le port 8080 de tous
les nœuds. Que pouvez-vous conclure ? nous pouvons accéder au
pod de n'importe quelle machine en utilisant l'adresse
correspondant
PAGE 06
Création d'une Service
Quel est l'intérêt de la section selector dans le fichier yaml?
le module contrôleur de Kubernetes va utiliser les paramètres
présents dans la section selector.
À noter que le champ Selector permet des conditions de sélection
multiples qui peuvent être basées sur des logiques combinatoire
le ou les labels que nous utilisons comme selector doivent se
retrouver dans les metadatas du pod… sinon nous risquons d’avoir
un problème.
Que permet de faire un Service de type NodePort?
NodePort : Expose le service sur un port statique sur chaque nœud
du cluster
Détectez quel port est exposé sur les nœuds pour atteindre le
service => port: 32692
Affichez des endpoints du service
PAGE 07
Vérifier que le service est accessible depuis le Pod nginx-pod créé
précédemment
Rolling Updates
Rollbacks
nous avons effectué le Rollback de déploiement nginx-deployment
$ kubectl rollout undo deployments nginx-deployment
Suivez le processus de Rollback
$ watch -n 1 curl -I 127.0.0.1:[node_port]
Récupérez l'historique du déploiement
Quelle commande utiliserez-vous ?
PAGE 08
Récupérez l'historique du déploiement
Quelle commande utiliserez-vous ?
Volumes
Variables d'environnement
Secrets
fichier secret.yml
PAGE 10
Créez le secret dans le cluster
Init containers
Sur quel nœud Worker le Pod a-t-il été lancé (utilisez l'option -o
wide ou la commande kubectl describe pods <NOM_DU_POD>)
le pod a été lancé sur la machine 192.168.246.85
PAGE 11
resultat : kubernetes
1.Liveness probe
PAGE 12
Surveillez les événements et le comportement du Pod liveness-pod
Que remarquez-vous?
statut du pod nginx-nogood : imagePullBackOff
L'état ImagePullBackOffsignifie qu'un pod n'a pas pu démarrer, car
Kubernetes n'a pas pu extraire une image de conteneur.
PAGE 13
Surveillez la liste des endpoints du service
Que remarquez-vous?
Dans nginx-readiness , nous remarquons que nous n'avons qu'une
seule adresse 10.42.2.17:80 alors que nous devrions en avoir 2
PAGE 14
Nous avons corrigé l'image avec la comande :
$ kubectl edit pod nginx-nogood
Création de DNS
Nous avons crée cet objet dans le cluster et visualisé la liste des
Ingress
PAGE 15
UN DÉPLOIEMENT PLUS COMPLEXE
Service Redis
PersistantVolume
PersistantVolumeClaim
Secret
PAGE 16
Deployment
PAGE 17
Service
Vous avez créé le service Redis, vous devez maintenant vérifier s'il
fonctionne correctement.
Connectez-vous avec telnet sur le Redis à partir de Pod busybox et
testez si Redis fonctionne correctement
PAGE 18
Service Redis
Deployment
Service
Ingress
Créez un Ingress avec le nom counter-ingress et Verifiez
PAGE 19
Verification de l'application
PAGE 20
fichier ingress
PAGE 21