10.3. Création de pools de configuration de machines pour effectuer une mise à jour de déploiement canary
La première tâche à effectuer lors de la mise à jour du déploiement de Canary est de créer un ou plusieurs pools de configuration de machines (MCP).
Créer un MCP à partir d'un nœud de travail.
Dressez la liste des nœuds de travail de votre cluster.
$ oc get -l 'node-role.kubernetes.io/master!=' -o 'jsonpath={range .items[*]}{.metadata.name}{"\n"}{end}' nodes
Exemple de sortie
ci-ln-pwnll6b-f76d1-s8t9n-worker-a-s75z4 ci-ln-pwnll6b-f76d1-s8t9n-worker-b-dglj2 ci-ln-pwnll6b-f76d1-s8t9n-worker-c-lldbm
Pour les nœuds que vous souhaitez retarder, ajoutez une étiquette personnalisée au nœud :
$ oc label node <node name> node-role.kubernetes.io/<custom-label>=
Par exemple :
$ oc label node ci-ln-0qv1yp2-f76d1-kl2tq-worker-a-j2ssz node-role.kubernetes.io/workerpool-canary=
Exemple de sortie
node/ci-ln-gtrwm8t-f76d1-spbl7-worker-a-xk76k labeled
Créer le nouveau MCP :
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool metadata: name: workerpool-canary 1 spec: machineConfigSelector: matchExpressions: 2 - { key: machineconfiguration.openshift.io/role, operator: In, values: [worker,workerpool-canary] } nodeSelector: matchLabels: node-role.kubernetes.io/workerpool-canary: "" 3
oc create -f <nom_du_fichier>
Exemple de sortie
machineconfigpool.machineconfiguration.openshift.io/workerpool-canary created
Afficher la liste des MCP du cluster et leur état actuel :
$ oc get machineconfigpool
Exemple de sortie
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-b0bb90c4921860f2a5d8a2f8137c1867 True False False 3 3 3 0 97m workerpool-canary rendered-workerpool-canary-87ba3dec1ad78cb6aecebf7fbb476a36 True False False 1 1 1 0 2m42s worker rendered-worker-87ba3dec1ad78cb6aecebf7fbb476a36 True False False 2 2 2 0 97m
Le nouveau pool de configuration de machines,
workerpool-canary
, est créé et le nombre de nœuds auxquels vous avez ajouté l'étiquette personnalisée est indiqué dans le décompte des machines. Le nombre de machines MCP du travailleur est réduit du même nombre. La mise à jour du nombre de machines peut prendre plusieurs minutes. Dans cet exemple, un nœud a été déplacé du MCPworker
vers le MCPworkerpool-canary
.