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.
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 :
trueLa spécification relative à la mise en cache préalable est valide et cohérente.
falseLa 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 :
trueTALM 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.
falseLa 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 :
NotStartedIl 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 ressourceManagedClusterViewpour l'espace de noms de mise en cache préalable des rayons afin de vérifier sa suppression dans l'étatPrecachePreparing.PreparingToStartLe nettoyage des ressources restantes des précédentes mises à jour incomplètes est en cours.
StartingLes conditions préalables de la tâche de mise en cache et la tâche sont créées.
ActiveL'emploi est en état "actif".
SucceededLe travail de pré-cache a réussi.
PrecacheTimeoutLa mise en cache de l'artefact est partiellement réalisée.
UnrecoverableErrorLe travail se termine avec un code de sortie non nul.
17.8.1. Création d'un ClusterGroupUpgrade CR avec mise en cache préalable Copier lienLien copié sur presse-papiers!
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
Enregistrez le contenu du CR
ClusterGroupUpgradeavec le champpreCachingdéfini surtruedans le fichierclustergroupupgrades-group-du.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le champ
preCachingest défini surtrue, ce qui permet à TALM d'extraire les images des conteneurs avant de lancer la mise à jour.
Lorsque vous voulez commencer la mise en cache, appliquez le CR
ClusterGroupUpgradeen exécutant la commande suivante :oc apply -f clustergroupupgrades-group-du.yaml
$ oc apply -f clustergroupupgrades-group-du.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Vérifiez si le CR
ClusterGroupUpgradeexiste dans le cluster du concentrateur en exécutant la commande suivante :oc get cgu -A
$ oc get cgu -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAMESPACE NAME AGE STATE DETAILS ztp-group-du-sno du-upgrade-4918 10s InProgress Precaching is required and not done
NAMESPACE NAME AGE STATE DETAILS ztp-group-du-sno du-upgrade-4918 10s InProgress Precaching is required and not done1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le CR est créé.
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}'$ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Affiche la liste des clusters identifiés.
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
$ oc get jobs,pods -n openshift-talo-pre-cacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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 3m10sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez l'état de
ClusterGroupUpgradeCR en exécutant la commande suivante :oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'$ oc get cgu -n ztp-group-du-sno du-upgrade-4918 -o jsonpath='{.status}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Les tâches de pré-cache sont terminées.