10.5. Alimentation d'OperatorHub à partir de catalogues d'opérateurs miroirs
Si vous avez mis en miroir des catalogues d'opérateurs pour les utiliser avec des clusters déconnectés, vous pouvez remplir OperatorHub avec les opérateurs de vos catalogues mis en miroir. Vous pouvez utiliser les manifestes générés par le processus de mise en miroir pour créer les objets ImageContentSourcePolicy et CatalogSource requis.
10.5.1. Conditions préalables Copier lienLien copié sur presse-papiers!
10.5.2. Création de l'objet ImageContentSourcePolicy Copier lienLien copié sur presse-papiers!
Après avoir mis en miroir le contenu du catalogue de l'opérateur dans votre registre miroir, créez l'objet ImageContentSourcePolicy (ICSP) requis. L'objet ICSP configure les nœuds pour traduire les références d'images stockées dans les manifestes Operator et le registre miroir.
Procédure
Sur un hôte ayant accès au cluster déconnecté, créez l'ICSP en exécutant la commande suivante pour spécifier le fichier
imageContentSourcePolicy.yamldans votre répertoire manifests :oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yaml
oc create -f <path/to/manifests/dir>/imageContentSourcePolicy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow où
<path/to/manifests/dir>est le chemin d'accès au répertoire des manifestes de votre contenu en miroir.Vous pouvez maintenant créer un objet
CatalogSourcepour référencer l'image de l'index reflété et le contenu de l'opérateur.
10.5.3. Ajout d'une source de catalogue à un cluster Copier lienLien copié sur presse-papiers!
L'ajout d'une source de catalogue à un cluster OpenShift Container Platform permet la découverte et l'installation d'opérateurs pour les utilisateurs. Les administrateurs de cluster peuvent créer un objet CatalogSource qui référence une image d'index. OperatorHub utilise des sources de catalogue pour remplir l'interface utilisateur.
Conditions préalables
- Une image d'index est construite et poussée vers un registre.
Procédure
Créez un objet
CatalogSourcequi fait référence à votre image d'index. Si vous avez utilisé la commandeoc adm catalog mirrorpour mettre en miroir votre catalogue vers un registre cible, vous pouvez utiliser le fichiercatalogSource.yamlgénéré dans votre répertoire manifests comme point de départ.Modifiez le texte suivant selon vos spécifications et sauvegardez-le sous forme de fichier
catalogSource.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Si vous avez mis en miroir le contenu dans des fichiers locaux avant de le télécharger dans un registre, supprimez tous les caractères backslash (
/) du champmetadata.nameafin d'éviter une erreur "invalid resource name" (nom de ressource non valide) lors de la création de l'objet. - 2
- Si vous souhaitez que la source du catalogue soit disponible globalement pour les utilisateurs de tous les espaces de noms, spécifiez l'espace de noms
openshift-marketplace. Sinon, vous pouvez spécifier un espace de noms différent pour que le catalogue soit délimité et disponible uniquement pour cet espace de noms. - 3
- Spécifiez la valeur de
legacyourestricted. Si le champ n'est pas défini, la valeur par défaut estlegacy. Dans une prochaine version d'OpenShift Container Platform, il est prévu que la valeur par défaut soitrestricted. Si votre catalogue ne peut pas s'exécuter avec les autorisationsrestricted, il est recommandé de définir manuellement ce champ surlegacy. - 4
- Spécifiez votre image d'index. Si vous spécifiez une balise après le nom de l'image, par exemple
:v4.12, le pod source du catalogue utilise une politique d'extraction d'image deAlways, ce qui signifie que le pod extrait toujours l'image avant de démarrer le conteneur. Si vous spécifiez un condensé, par exemple@sha256:<id>, la politique d'extraction d'image estIfNotPresent, ce qui signifie que le module n'extrait l'image que si elle n'existe pas déjà sur le nœud. - 5
- Indiquez votre nom ou le nom d'une organisation qui publie le catalogue.
- 6
- Les sources du catalogue peuvent automatiquement vérifier la présence de nouvelles versions pour rester à jour.
Utilisez le fichier pour créer l'objet
CatalogSource:oc apply -f catalogSource.yaml
$ oc apply -f catalogSource.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérifiez que les ressources suivantes ont bien été créées.
Vérifier les gousses :
oc get pods -n openshift-marketplace
$ oc get pods -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26h
NAME READY STATUS RESTARTS AGE my-operator-catalog-6njx6 1/1 Running 0 28s marketplace-operator-d9f549946-96sgr 1/1 Running 0 26hCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier la source du catalogue :
oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5s
NAME DISPLAY TYPE PUBLISHER AGE my-operator-catalog My Operator Catalog grpc 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier le manifeste du paquet :
oc get packagemanifest -n openshift-marketplace
$ oc get packagemanifest -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CATALOG AGE jaeger-product My Operator Catalog 93s
NAME CATALOG AGE jaeger-product My Operator Catalog 93sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Vous pouvez maintenant installer les opérateurs à partir de la page OperatorHub de votre console web OpenShift Container Platform.