17.8. Utilisation de la fonction de pré-cache de l'image du conteneur


Les clusters OpenShift à un seul nœud peuvent avoir une bande passante limitée pour accéder au registre des images de conteneurs, ce qui peut entraîner un dépassement de délai avant que les mises à jour ne soient terminées.

Note

L'heure de la mise à jour n'est pas fixée par TALM. Vous pouvez appliquer le CR ClusterGroupUpgrade au début de la mise à jour par application manuelle ou par automatisation externe.

La mise en cache préalable de l'image du conteneur commence lorsque le champ preCaching est défini sur true dans le CR ClusterGroupUpgrade.

TALM utilise la condition PrecacheSpecValid pour signaler les informations d'état comme suit :

  • true

    La spécification relative à la mise en cache préalable est valide et cohérente.

  • false

    La spécification relative à la mise en cache préalable est incomplète.

TALM utilise la condition PrecachingSucceeded pour signaler les informations d'état comme suit :

  • true

    TALM a terminé le processus de pré-mise en cache. Si le pré-caching échoue pour un cluster, la mise à jour échoue pour ce cluster mais se poursuit pour tous les autres clusters. Un message vous informe de l'échec de la mise en cache pour l'un des clusters.

  • false

    La mise en cache est toujours en cours pour un ou plusieurs clusters ou a échoué pour tous les clusters.

Une fois que le processus de mise en cache préalable a réussi, vous pouvez commencer à remédier aux politiques. Les actions de remédiation commencent lorsque le champ enable est défini sur true. En cas d'échec de la mise en cache préalable sur un cluster, la mise à niveau échoue pour ce cluster. Le processus de mise à niveau se poursuit pour tous les autres clusters dont le pré-cache a réussi.

Le processus de pré-cache peut se trouver dans les états suivants :

  • NotStarted

    Il s'agit de l'état initial auquel tous les clusters sont automatiquement assignés lors du premier passage de réconciliation du CR ClusterGroupUpgrade. Dans cet état, le TALM supprime tout espace de noms de pré-mise en cache et les ressources de vue du hub des clusters de rayons qui restent des mises à jour incomplètes précédentes. Le TALM crée ensuite une nouvelle ressource ManagedClusterView pour l'espace de noms de mise en cache préalable des rayons afin de vérifier sa suppression dans l'état PrecachePreparing.

  • PreparingToStart

    Le nettoyage des ressources restantes des précédentes mises à jour incomplètes est en cours.

  • Starting

    Les conditions préalables de la tâche de mise en cache et la tâche sont créées.

  • Active

    L'emploi est en état "actif".

  • Succeeded

    Le travail de pré-cache a réussi.

  • PrecacheTimeout

    La mise en cache de l'artefact est partiellement réalisée.

  • UnrecoverableError

    Le travail se termine avec un code de sortie non nul.

Pour OpenShift à nœud unique, la fonction de pré-cache permet aux images de conteneurs requises d'être présentes sur le cluster de rayons avant que la mise à jour ne commence.

Conditions préalables

  • Installez le gestionnaire de cycle de vie Topology Aware (TALM).
  • Provisionner un ou plusieurs clusters gérés.
  • Connectez-vous en tant qu'utilisateur disposant des privilèges cluster-admin.

Procédure

  1. Enregistrez le contenu du CR ClusterGroupUpgrade avec le champ preCaching défini sur true dans le fichier clustergroupupgrades-group-du.yaml:

    apiVersion: ran.openshift.io/v1alpha1
    kind: ClusterGroupUpgrade
    metadata:
      name: du-upgrade-4918
      namespace: ztp-group-du-sno
    spec:
      preCaching: true 
    1
    
      clusters:
      - cnfdb1
      - cnfdb2
      enable: false
      managedPolicies:
      - du-upgrade-platform-upgrade
      remediationStrategy:
        maxConcurrency: 2
        timeout: 240
    Copy to Clipboard Toggle word wrap
    1
    Le champ preCaching est défini sur true, ce qui permet à TALM d'extraire les images des conteneurs avant de lancer la mise à jour.
  2. Lorsque vous voulez commencer la mise en cache, appliquez le CR ClusterGroupUpgrade en exécutant la commande suivante :

    $ oc apply -f clustergroupupgrades-group-du.yaml
    Copy to Clipboard Toggle word wrap

Vérification

  1. Vérifiez si le CR ClusterGroupUpgrade existe dans le cluster du concentrateur en exécutant la commande suivante :

    $ oc get cgu -A
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAMESPACE          NAME              AGE   STATE        DETAILS
    ztp-group-du-sno   du-upgrade-4918   10s   InProgress   Precaching is required and not done 
    1
    Copy to Clipboard Toggle word wrap

    1
    Le CR est créé.
  2. Vérifiez l'état de la tâche de mise en cache en exécutant la commande suivante :

    $ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    {
      "conditions": [
        {
          "lastTransitionTime": "2022-01-27T19:07:24Z",
          "message": "Precaching is required and not done",
          "reason": "InProgress",
          "status": "False",
          "type": "PrecachingSucceeded"
        },
        {
          "lastTransitionTime": "2022-01-27T19:07:34Z",
          "message": "Pre-caching spec is valid and consistent",
          "reason": "PrecacheSpecIsWellFormed",
          "status": "True",
          "type": "PrecacheSpecValid"
        }
      ],
      "precaching": {
        "clusters": [
          "cnfdb1" 
    1
    
          "cnfdb2"
        ],
        "spec": {
          "platformImage": "image.example.io"},
        "status": {
          "cnfdb1": "Active"
          "cnfdb2": "Succeeded"}
        }
    }
    Copy to Clipboard Toggle word wrap

    1
    Affiche la liste des clusters identifiés.
  3. Vérifiez l'état de la tâche de mise en cache préalable en exécutant la commande suivante sur le cluster de rayons :

    $ oc get jobs,pods -n openshift-talo-pre-cache
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME                  COMPLETIONS   DURATION   AGE
    job.batch/pre-cache   0/1           3m10s      3m10s
    
    NAME                     READY   STATUS    RESTARTS   AGE
    pod/pre-cache--1-9bmlr   1/1     Running   0          3m10s
    Copy to Clipboard Toggle word wrap

  4. Vérifiez l'état de ClusterGroupUpgrade CR en exécutant la commande suivante :

    $ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    "conditions": [
        {
          "lastTransitionTime": "2022-01-27T19:30:41Z",
          "message": "The ClusterGroupUpgrade CR has all clusters compliant with all the managed policies",
          "reason": "UpgradeCompleted",
          "status": "True",
          "type": "Ready"
        },
        {
          "lastTransitionTime": "2022-01-27T19:28:57Z",
          "message": "Precaching is completed",
          "reason": "PrecachingCompleted",
          "status": "True",
          "type": "PrecachingSucceeded" 
    1
    
        }
    Copy to Clipboard Toggle word wrap

    1
    Les tâches de pré-cache sont terminées.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat