4.12. Gestion des opérateurs de plateforme (Avant-première technologique)
Un opérateur de plateforme est un opérateur basé sur OLM qui peut être installé pendant ou après les opérations du jour 0 d'un cluster OpenShift Container Platform et qui participe au cycle de vie du cluster. En tant qu'administrateur de cluster, vous pouvez gérer les opérateurs de plateforme en utilisant l'API PlatformOperator
.
Le type d'opérateur de plate-forme est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
4.12.1. À propos des opérateurs de plateforme
Operator Lifecycle Manager (OLM) introduit un nouveau type d'opérateur appelé platform Operators. Un opérateur de plateforme est un opérateur basé sur OLM qui peut être installé pendant ou après les opérations du jour 0 d'un cluster OpenShift Container Platform et qui participe au cycle de vie du cluster. En tant qu'administrateur de cluster, vous pouvez utiliser les opérateurs de plateforme pour personnaliser davantage votre installation OpenShift Container Platform afin de répondre à vos exigences et à vos cas d'utilisation.
En utilisant la fonction existante de capacités de cluster dans OpenShift Container Platform, les administrateurs de cluster peuvent déjà désactiver un sous-ensemble de composants basés sur l'opérateur de version de cluster (CVO) considérés comme non essentiels à la charge utile initiale avant l'installation du cluster. Les opérateurs de plateforme s'inspirent de ce modèle en offrant des options de personnalisation supplémentaires. Grâce au mécanisme de l'opérateur de plateforme, qui s'appuie sur les ressources du composant RukPak, les opérateurs basés sur OLM peuvent désormais être installés au moment de l'installation du cluster et peuvent bloquer le déploiement du cluster si l'opérateur ne parvient pas à s'installer correctement.
Dans OpenShift Container Platform 4.12, cette version Technology Preview se concentre sur le mécanisme de base de la plateforme Operator et construit une base pour étendre le concept dans les prochaines versions. Vous pouvez utiliser l'API PlatformOperator
à l'échelle du cluster pour configurer les opérateurs avant ou après la création du cluster sur les clusters qui ont activé l'ensemble de fonctionnalités TechPreviewNoUpgrades
.
Ressources supplémentaires
4.12.1.1. Restrictions relatives à l'aperçu technologique pour les opérateurs de plates-formes
Pendant la version Technology Preview de la fonctionnalité Platform Operators dans OpenShift Container Platform 4.12, les restrictions suivantes déterminent si un Operator peut être installé via le mécanisme Platform Operators :
-
Les manifestes Kubernetes doivent être empaquetés à l'aide du format de paquet Operator Lifecycle Manager (OLM)
registry v1
. - L'Opérateur ne peut pas déclarer de dépendances de paquetage ou de groupe/version/genre (GVK).
-
L'opérateur ne peut pas spécifier des modes d'installation de la version du service de cluster (CSV) autres que les modes suivants
AllNamespaces
-
L'opérateur ne peut pas spécifier de définitions
Webhook
ouAPIService
. -
Tous les paquets doivent se trouver dans la source du catalogue
redhat-operators
.
Après avoir pris en compte ces restrictions, les opérateurs suivants peuvent être installés avec succès :
3scale-operator | amq-broker-rhel8 |
amq-online | amq-streams |
ansible-cloud-addons-operator | opérateur d'apicastère |
opérateur de sécurité des conteneurs | eap |
opérateur d'intégration de fichiers | produit gatekeeper-operator |
opérateur d'intégration | jws-operator |
kiali-ossm | node-healthcheck-operator |
odf-csi-addons-operator | odr-hub-operator |
openshift-cert-manager-operator | openshift-custom-metrics-autoscaler-operator |
openshift-gitops-operator | openshift-pipelines-operator-rh |
opérateur de quai | chapeau rouge-chamel-k |
rhpam-kogito-operator | service-registry-operator |
servicemeshoperator | skupper-opérateur |
Les fonctionnalités suivantes ne sont pas disponibles dans le cadre de cet aperçu technologique :
- Mise à jour automatique des paquets de l'opérateur de la plate-forme après le déploiement du cluster
- Extension du mécanisme de l'opérateur de plate-forme pour prendre en charge tout composant optionnel basé sur l'OVE
4.12.2. Conditions préalables
-
Accès à un cluster OpenShift Container Platform à l'aide d'un compte disposant des autorisations
cluster-admin
. Le jeu de fonctionnalités
TechPreviewNoUpgrades
est activé sur le cluster.AvertissementL'activation de l'ensemble de fonctionnalités
TechPreviewNoUpgrade
ne peut être annulée et empêche les mises à jour mineures de la version. Ces jeux de fonctionnalités ne sont pas recommandés sur les clusters de production.-
Seule la source du catalogue
redhat-operators
est activée sur le cluster. Il s'agit d'une restriction dans le cadre de la version Technology Preview. -
La commande
oc
installée sur votre poste de travail.
4.12.3. Installation des opérateurs de plate-forme lors de la création d'un cluster
En tant qu'administrateur de cluster, vous pouvez installer des opérateurs de plateforme en fournissant les manifestes FeatureGate
et PlatformOperator
lors de la création du cluster.
Procédure
- Choisissez un opérateur de plate-forme parmi l'ensemble des opérateurs basés sur OLM pris en charge. Pour obtenir la liste de cet ensemble et des détails sur les limitations actuelles, voir "Technology Preview restrictions for platform Operators".
-
Sélectionnez une méthode d'installation en grappe et suivez les instructions pour créer un fichier
install-config.yaml
. Pour plus de détails sur la préparation d'une installation en grappe, voir "Sélection d'une méthode d'installation en grappe et préparation pour les utilisateurs". Après avoir créé le fichier
install-config.yaml
et y avoir apporté les modifications nécessaires, passez au répertoire qui contient le programme d'installation et créez les manifestes :./openshift-install create manifests --dir <installation_directory> $ ./openshift-install create manifests --dir <installation_directory> 1
- 1
- For
<installation_directory>
, specify the name of the directory that contains theinstall-config.yaml
file for your cluster.
Créez un fichier YAML de l'objet
FeatureGate
dans le répertoire<installation_directory>/manifests/
qui active l'ensemble de fonctionnalitésTechPreviewNoUpgrade
, par exemple un fichierfeature-gate.yaml
:Exemple de fichier
feature-gate.yaml
apiVersion: config.openshift.io/v1 kind: FeatureGate metadata: annotations: include.release.openshift.io/self-managed-high-availability: "true" include.release.openshift.io/single-node-developer: "true" release.openshift.io/create-only: "true" name: cluster spec: featureSet: TechPreviewNoUpgrade 1
- 1
- Activer l'ensemble de fonctions
TechPreviewNoUpgrade
.
Créez un fichier YAML de l'objet
PlatformOperator
pour l'opérateur de la plateforme choisie dans le répertoire<installation_directory>/manifests/
, par exemple un fichiercert-manager.yaml
pour l'opérateur cert-manager de Red Hat OpenShift :Exemple de fichier
cert-manager.yaml
apiVersion: platform.openshift.io/v1alpha1 kind: PlatformOperator metadata: name: cert-manager spec: package: name: openshift-cert-manager-operator
Lorsque vous êtes prêt à terminer l'installation du cluster, reportez-vous à la méthode d'installation que vous avez choisie et continuez à exécuter la commande
openshift-install create cluster
.Lors de la création du cluster, les manifestes fournis sont utilisés pour activer l'ensemble des fonctionnalités de
TechPreviewNoUpgrade
et installer la plateforme Operator de votre choix.ImportantL'échec de l'installation de l'opérateur de plate-forme bloque le processus d'installation du cluster.
Vérification
Vérifiez l'état de la plate-forme
cert-manager
Operator en exécutant la commande suivante :$ oc get platformoperator cert-manager -o yaml
Exemple de sortie
... status: activeBundleDeployment: name: cert-manager conditions: - lastTransitionTime: "2022-10-24T17:24:40Z" message: Successfully applied the cert-manager BundleDeployment resource reason: InstallSuccessful status: "True" 1 type: Installed
- 1
- Attendez que la condition d'état
Installed
signaleTrue
.
Vérifiez que l'opérateur du cluster
platform-operators-aggregated
signale un étatAvailable=True
:$ oc get clusteroperator platform-operators-aggregated -o yaml
Exemple de sortie
... status: conditions: - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "False" type: Progressing - lastTransitionTime: "2022-10-24T17:43:26Z" status: "False" type: Degraded - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "True" type: Available
4.12.4. Installation des opérateurs de plate-forme après la création du cluster
En tant qu'administrateur de cluster, vous pouvez installer les opérateurs de plateforme après la création du cluster sur les clusters qui ont activé le jeu de fonctionnalités TechPreviewNoUpgrades
en utilisant l'API PlatformOperator
à l'échelle du cluster.
Procédure
- Choisissez un opérateur de plate-forme parmi l'ensemble des opérateurs basés sur OLM pris en charge. Pour obtenir la liste de cet ensemble et des détails sur les limitations actuelles, voir "Technology Preview restrictions for platform Operators".
Créez un fichier YAML de l'objet
PlatformOperator
pour l'opérateur de la plateforme choisie, par exemple un fichiercert-manager.yaml
pour l'opérateur cert-manager de Red Hat OpenShift :Exemple de fichier
cert-manager.yaml
apiVersion: platform.openshift.io/v1alpha1 kind: PlatformOperator metadata: name: cert-manager spec: package: name: openshift-cert-manager-operator
Créez l'objet
PlatformOperator
en exécutant la commande suivante :$ oc apply -f cert-manager.yaml
NoteSi le jeu de fonctionnalités
TechPreviewNoUpgrades
n'est pas activé dans votre cluster, la création de l'objet échoue avec le message suivant :error: resource mapping not found for name: "cert-manager" namespace: "" from "cert-manager.yaml": no matches for kind "PlatformOperator" in version "platform.openshift.io/v1alpha1" ensure CRDs are installed first
Vérification
Vérifiez l'état de la plate-forme
cert-manager
Operator en exécutant la commande suivante :$ oc get platformoperator cert-manager -o yaml
Exemple de sortie
... status: activeBundleDeployment: name: cert-manager conditions: - lastTransitionTime: "2022-10-24T17:24:40Z" message: Successfully applied the cert-manager BundleDeployment resource reason: InstallSuccessful status: "True" 1 type: Installed
- 1
- Attendez que la condition d'état
Installed
signaleTrue
.
Vérifiez que l'opérateur du cluster
platform-operators-aggregated
signale un étatAvailable=True
:$ oc get clusteroperator platform-operators-aggregated -o yaml
Exemple de sortie
... status: conditions: - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "False" type: Progressing - lastTransitionTime: "2022-10-24T17:43:26Z" status: "False" type: Degraded - lastTransitionTime: "2022-10-24T17:43:26Z" message: All platform operators are in a successful state reason: AsExpected status: "True" type: Available
Ressources supplémentaires
4.12.5. Suppression des opérateurs de plate-forme
En tant qu'administrateur de cluster, vous pouvez supprimer des opérateurs de plate-forme existants. Operator Lifecycle Manager (OLM) effectue une suppression en cascade. Tout d'abord, OLM supprime le déploiement du bundle pour l'opérateur de plate-forme, ce qui supprime ensuite tous les objets référencés dans le bundle de type registry v1
.
Le gestionnaire d'opérateurs de plate-forme et le provisionneur de déploiement d'offres groupées ne gèrent que les objets référencés dans l'offre groupée, mais pas les objets déployés ultérieurement par les charges de travail de l'offre groupée elles-mêmes. Par exemple, si une charge de travail de l'offre groupée crée un espace de noms et que l'opérateur n'est pas configuré pour le nettoyer avant la suppression de l'opérateur, OLM n'est pas en mesure de supprimer l'espace de noms lors de la suppression de l'opérateur de plate-forme.
Procédure
Obtenez une liste des opérateurs de plate-forme installés et recherchez le nom de l'opérateur que vous souhaitez supprimer :
$ oc get platformoperator
Supprimer la ressource
PlatformOperator
pour l'opérateur choisi, par exemple pour l'opérateur de quai :$ oc delete platformoperator quay-operator
Exemple de sortie
platformoperator.platform.openshift.io "quay-operator" deleted
Vérification
Vérifier que l'espace de noms de l'opérateur de plate-forme est finalement supprimé, par exemple pour l'opérateur de quai :
$ oc get ns quay-operator-system
Exemple de sortie
Error from server (NotFound): namespaces "quay-operator-system" not found
Vérifier que l'opérateur du cluster
platform-operators-aggregated
continue à signaler l'étatAvailable=True
:$ oc get co platform-operators-aggregated
Exemple de sortie
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE platform-operators-aggregated 4.12.0-0 True False False 70s