doc for removing worker flag from cp on UPI
All checks were successful
Run Check Script / check (pull_request) Successful in 1m13s
All checks were successful
Run Check Script / check (pull_request) Successful in 1m13s
This commit is contained in:
parent
cbbaae2ac8
commit
dd3f07e5b7
58
docs/doc-remove-worker-flag.md
Normal file
58
docs/doc-remove-worker-flag.md
Normal file
@ -0,0 +1,58 @@
|
||||
1. ### **Titre : Retrait du flag *worker* sur les control planes (UPI)**
|
||||
|
||||
1. ### **Contexte**
|
||||
Dans certaines installations OpenShift UPI, les nodes de control plane (masters) héritent par erreur du label worker (node-role.kubernetes.io/worker).\
|
||||
Cela provoque la planification de workloads non critiques (par ex. routers, Ceph pods, etc.) sur les control planes, ce qui compromet la stabilité et la séparation des rôles.
|
||||
|
||||
1. ### **Symptômes observés**
|
||||
- Apres avoir ajouté des serveur dans HAProxy, tous les serveurs backend (wk0, wk1, wk2) apparaissent en état DOWN.\
|
||||
Le trafic HTTP/HTTPS est redirigé vers les control planes au lieu des workers.
|
||||
- Les pods router-default sont déployés sur cp1 et cp2 plutôt que sur les workers.
|
||||
- Sur les masters, la commande suivante montre une écoute sur le port 80 :
|
||||
|
||||
ss -tlnp | grep 80
|
||||
|
||||
-> processus haproxy en écoute sur 0.0.0.0:80
|
||||
|
||||
-> meme chose pour port 443
|
||||
|
||||
- Dans le namespace rook-ceph, certains pods (mon, mgr, operator) ne se planifient pas, sont aussi deployé sur les cp au lieu des worker nodes :
|
||||
|
||||
1. ### **Cause**
|
||||
En installation UPI, les rôles (master, worker) ne sont pas gérés par le Machine Config Operator (MCO).\
|
||||
Les controls planes sont schedulable par default. Qui amene les trois roles, worker, master et control-plane.
|
||||
|
||||
1. ### **Diagnostic**
|
||||
1. Vérifier les labels du node :
|
||||
|
||||
oc get nodes --show-labels | grep control-plane
|
||||
|
||||
1. Inspecter la configuration du kubelet :
|
||||
|
||||
cat /etc/systemd/system/kubelet.service
|
||||
|
||||
Rechercher la ligne :
|
||||
|
||||
--node-labels=node-role.kubernetes.io/control-plane,node-role.kubernetes.io/master,node-role.kubernetes.io/worker
|
||||
|
||||
→ présence du label worker confirme le problème.
|
||||
|
||||
1. Vérifier que ce flag ne provient pas du MCO :
|
||||
|
||||
oc get machineconfig | grep rendered-master
|
||||
|
||||
**Solution:**\
|
||||
Pour rendre les **control planes non planifiables** (c’est-à-dire empêcher tout déploiement de workloads dessus), il faut appliquer le patch suivant sur la ressource scheduler du cluster :\
|
||||
\```
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
oc patch scheduler cluster --type merge -p '{"spec":{"mastersSchedulable":false}}'\
|
||||
\```\
|
||||
Cette commande **désactive la planification sur les masters** et **supprime efficacement le rôle worker** de leurs fonctions.
|
||||
|
||||
Une fois le patch appliqué, il faut **déplacer les workloads** encore présents sur les control planes vers les **workers** à l’aide des commandes :
|
||||
|
||||
\```\
|
||||
oc adm cordon <cp-node>\
|
||||
oc adm drain <cp-node> --ignore-daemonsets –delete-emptydir-data\
|
||||
\```
|
||||
|
Loading…
Reference in New Issue
Block a user