9.2. Mise en pause d'une ressource MachineHealthCheck

Au cours du processus de mise à niveau, les nœuds de la grappe peuvent devenir temporairement indisponibles. Dans le cas des nœuds de travail, le contrôle de l'état de la machine peut identifier ces nœuds comme étant malsains et les redémarrer. Pour éviter de redémarrer ces nœuds, mettez en pause toutes les ressources MachineHealthCheck avant de mettre à jour le cluster.

Conditions préalables

  • Installez le CLI OpenShift (oc).

Procédure

  1. Pour dresser la liste de toutes les ressources MachineHealthCheck disponibles que vous souhaitez mettre en pause, exécutez la commande suivante :

    $ oc get machinehealthcheck -n openshift-machine-api
  2. Pour mettre en pause les contrôles de santé de la machine, ajoutez l'annotation cluster.x-k8s.io/paused="" à la ressource MachineHealthCheck. Exécutez la commande suivante :

    $ oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused=""

    La ressource annotée MachineHealthCheck ressemble au fichier YAML suivant :

    apiVersion: machine.openshift.io/v1beta1
    kind: MachineHealthCheck
    metadata:
      name: example
      namespace: openshift-machine-api
      annotations:
        cluster.x-k8s.io/paused: ""
    spec:
      selector:
        matchLabels:
          role: worker
      unhealthyConditions:
      - type:    "Ready"
        status:  "Unknown"
        timeout: "300s"
      - type:    "Ready"
        status:  "False"
        timeout: "300s"
      maxUnhealthy: "40%"
    status:
      currentHealthy: 5
      expectedMachines: 5
    Important

    Reprendre les contrôles de santé des machines après avoir mis à jour le cluster. Pour reprendre le contrôle, supprimez l'annotation de pause de la ressource MachineHealthCheck en exécutant la commande suivante :

    $ oc -n openshift-machine-api annotate mhc <mhc-name> cluster.x-k8s.io/paused-