3.4. Administration du déploiement de la journalisation
3.4.1. Déployer Red Hat OpenShift Logging Operator à l'aide de la console web
Vous pouvez utiliser la console web de OpenShift Container Platform pour déployer Red Hat OpenShift Logging Operator.
Le sous-système de journalisation pour Red Hat OpenShift est fourni en tant que composant installable, avec un cycle de publication distinct de celui de la plateforme principale OpenShift Container Platform. La politique de cycle de vie de Red Hat OpenShift Container Platform décrit la compatibilité des versions.
Procédure
Pour déployer Red Hat OpenShift Logging Operator à l'aide de la console web OpenShift Container Platform :
Installez l'opérateur de journalisation Red Hat OpenShift :
-
Dans la console web d'OpenShift Container Platform, cliquez sur Operators
OperatorHub. - Tapez Logging dans le champ Filter by keyword.
- Choisissez Red Hat OpenShift Logging dans la liste des opérateurs disponibles et cliquez sur Install.
Sélectionnez stable ou stable-5.y comme Update Channel.
NoteLe canal
stable
ne fournit des mises à jour que pour la version la plus récente du logiciel d'exploitation. Pour continuer à recevoir les mises à jour des versions antérieures, vous devez changer votre canal d'abonnement pourstable-X
, oùX
est la version de l'exploitation que vous avez installée.- Assurez-vous que A specific namespace on the cluster est sélectionné sous Installation Mode.
- Assurez-vous que Operator recommended namespace est openshift-logging sous Installed Namespace.
- Sélectionnez Enable Operator recommended cluster monitoring on this Namespace.
Sélectionnez une option pour Update approval.
- L'option Automatic permet à Operator Lifecycle Manager (OLM) de mettre automatiquement à jour l'opérateur lorsqu'une nouvelle version est disponible.
- L'option Manual exige qu'un utilisateur disposant des informations d'identification appropriées approuve la mise à jour de l'opérateur.
- Sélectionnez Enable ou Disable pour le plugin Console.
- Cliquez sur Install.
-
Dans la console web d'OpenShift Container Platform, cliquez sur Operators
Vérifiez que le site Red Hat OpenShift Logging Operator est installé en passant à la page Operators
Installed Operators. - Assurez-vous que Red Hat OpenShift Logging est listé dans le projet openshift-logging avec un Status de Succeeded.
Créer une instance ClusterLogging.
NoteLa vue du formulaire de la console web ne comprend pas toutes les options disponibles. Il est recommandé d'utiliser le site YAML view pour compléter votre installation.
Dans la section collection, sélectionnez une implémentation de collecteur.
NoteÀ partir de la version 5.6 de l'exploitation forestière, Fluentd est obsolète et il est prévu qu'il soit supprimé dans une prochaine version. Red Hat fournira des corrections de bogues et une assistance pour cette fonctionnalité pendant le cycle de vie de la version actuelle, mais cette fonctionnalité ne recevra plus d'améliorations et sera supprimée. Comme alternative à Fluentd, vous pouvez utiliser Vector.
Dans la section logStore, sélectionnez un type.
NoteÀ partir de la version 5.4.3 de Logging, l'Elasticsearch Operator est obsolète et il est prévu de le supprimer dans une prochaine version. Red Hat fournira des corrections de bogues et une assistance pour cette fonctionnalité pendant le cycle de vie de la version actuelle, mais cette fonctionnalité ne recevra plus d'améliorations et sera supprimée. Au lieu d'utiliser l'opérateur Elasticsearch pour gérer le stockage des journaux par défaut, vous pouvez utiliser l'opérateur Loki.
- Cliquez sur Create.
3.4.2. Déploiement de l'opérateur Loki à l'aide de la console web
Vous pouvez utiliser la console web d'OpenShift Container Platform pour installer l'opérateur Loki.
Conditions préalables
- Log Store pris en charge (AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)
Procédure
Pour installer l'opérateur Loki à l'aide de la console web d'OpenShift Container Platform :
-
Dans la console web d'OpenShift Container Platform, cliquez sur Operators
OperatorHub. Tapez Loki dans le champ Filter by keyword.
- Choisissez Loki Operator dans la liste des opérateurs disponibles et cliquez sur Install.
Sélectionnez stable ou stable-5.y comme Update Channel.
NoteLe canal
stable
ne fournit des mises à jour que pour la version la plus récente du logiciel d'exploitation. Pour continuer à recevoir les mises à jour des versions antérieures, vous devez changer votre canal d'abonnement pourstable-X
, oùX
est la version de l'exploitation que vous avez installée.- Assurez-vous que All namespaces on the cluster est sélectionné sous Installation Mode.
- Assurez-vous que openshift-operators-redhat est sélectionné sous Installed Namespace.
Sélectionnez Enable Operator recommended cluster monitoring on this Namespace.
Cette option définit l'étiquette
openshift.io/cluster-monitoring: "true"
dans l'objet Namespace. Vous devez sélectionner cette option pour vous assurer que la surveillance des clusters récupère l'espace de nomsopenshift-operators-redhat
.Sélectionnez une option pour Update approval.
- L'option Automatic permet à Operator Lifecycle Manager (OLM) de mettre automatiquement à jour l'opérateur lorsqu'une nouvelle version est disponible.
- L'option Manual exige qu'un utilisateur disposant des informations d'identification appropriées approuve la mise à jour de l'opérateur.
- Cliquez sur Install.
Vérifiez que le site LokiOperator est installé en passant à la page Operators
Installed Operators. - Veillez à ce que LokiOperator soit listé avec Status et Succeeded dans tous les projets.
Créez un fichier YAML
Secret
qui utilise les champsaccess_key_id
etaccess_key_secret
pour spécifier vos informations d'identification etbucketnames
,endpoint
, etregion
pour définir l'emplacement de stockage de l'objet. AWS est utilisé dans l'exemple suivant :apiVersion: v1 kind: Secret metadata: name: logging-loki-s3 namespace: openshift-logging stringData: access_key_id: AKIAIOSFODNN7EXAMPLE access_key_secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY bucketnames: s3-bucket-name endpoint: https://s3.eu-central-1.amazonaws.com region: eu-central-1
Sélectionnez Create instance sous LokiStack dans l'onglet Details. Sélectionnez ensuite YAML view. Collez le modèle suivant, en remplaçant les valeurs le cas échéant.
apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki 1 namespace: openshift-logging spec: size: 1x.small 2 storage: schemas: - version: v12 effectiveDate: '2022-06-01' secret: name: logging-loki-s3 3 type: s3 4 storageClassName: <storage_class_name> 5 tenants: mode: openshift-logging
- 1
- Le nom doit être
logging-loki
. - 2
- Sélectionnez la taille de déploiement de votre Loki.
- 3
- Définissez le secret utilisé pour le stockage des journaux.
- 4
- Définir le type de stockage correspondant.
- 5
- Saisissez le nom d'une classe de stockage existante pour le stockage temporaire. Pour de meilleures performances, spécifiez une classe de stockage qui alloue des blocs de stockage. Les classes de stockage disponibles pour votre cluster peuvent être répertoriées à l'aide de
oc get storageclasses
.Appliquer la configuration :
oc apply -f logging-loki.yaml
Créer ou modifier un CR
ClusterLogging
:apiVersion: logging.openshift.io/v1 kind: ClusterLogging metadata: name: instance namespace: openshift-logging spec: managementState: Managed logStore: type: lokistack lokistack: name: logging-loki collection: type: vector
Appliquer la configuration :
oc apply -f cr-lokistack.yaml
3.4.3. Installation à partir d'OperatorHub en utilisant le CLI
Au lieu d'utiliser la console web de OpenShift Container Platform, vous pouvez installer un Operator depuis OperatorHub en utilisant le CLI. Utilisez la commande oc
pour créer ou mettre à jour un objet Subscription
.
Conditions préalables
-
Accès à un cluster OpenShift Container Platform à l'aide d'un compte disposant des autorisations
cluster-admin
. -
Installez la commande
oc
sur votre système local.
Procédure
Voir la liste des opérateurs disponibles pour la grappe à partir d'OperatorHub :
$ oc get packagemanifests -n openshift-marketplace
Exemple de sortie
NAME CATALOG AGE 3scale-operator Red Hat Operators 91m advanced-cluster-management Red Hat Operators 91m amq7-cert-manager Red Hat Operators 91m ... couchbase-enterprise-certified Certified Operators 91m crunchy-postgres-operator Certified Operators 91m mongodb-enterprise Certified Operators 91m ... etcd Community Operators 91m jaeger Community Operators 91m kubefed Community Operators 91m ...
Notez le catalogue de l'opérateur souhaité.
Inspectez l'opérateur de votre choix pour vérifier les modes d'installation pris en charge et les canaux disponibles :
oc describe packagemanifests <operator_name> -n openshift-marketplace
Un groupe d'opérateurs, défini par un objet
OperatorGroup
, sélectionne des espaces de noms cibles dans lesquels générer l'accès RBAC requis pour tous les opérateurs dans le même espace de noms que le groupe d'opérateurs.L'espace de noms auquel vous abonnez l'opérateur doit avoir un groupe d'opérateurs qui correspond au mode d'installation de l'opérateur, soit le mode
AllNamespaces
ouSingleNamespace
. Si l'opérateur que vous avez l'intention d'installer utilise le modeAllNamespaces
, l'espace de nomsopenshift-operators
dispose déjà d'un groupe d'opérateurs approprié.Cependant, si l'opérateur utilise le mode
SingleNamespace
et que vous n'avez pas déjà un groupe d'opérateurs approprié en place, vous devez en créer un.NoteLa version console web de cette procédure gère la création des objets
OperatorGroup
etSubscription
automatiquement dans les coulisses lorsque vous choisissez le modeSingleNamespace
.Créez un fichier YAML de l'objet
OperatorGroup
, par exempleoperatorgroup.yaml
:Exemple d'objet
OperatorGroup
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <operatorgroup_name> namespace: <namespace> spec: targetNamespaces: - <namespace>
Créer l'objet
OperatorGroup
:$ oc apply -f operatorgroup.yaml
Créez un fichier YAML de l'objet
Subscription
pour abonner un espace de noms à un opérateur, par exemplesub.yaml
:Exemple d'objet
Subscription
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: <subscription_name> namespace: openshift-operators 1 spec: channel: <channel_name> 2 name: <operator_name> 3 source: redhat-operators 4 sourceNamespace: openshift-marketplace 5 config: env: 6 - name: ARGS value: "-v=10" envFrom: 7 - secretRef: name: license-secret volumes: 8 - name: <volume_name> configMap: name: <configmap_name> volumeMounts: 9 - mountPath: <directory_name> name: <volume_name> tolerations: 10 - operator: "Exists" resources: 11 requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" nodeSelector: 12 foo: bar
- 1
- Pour l'utilisation du mode d'installation
AllNamespaces
, indiquez l'espace de nomsopenshift-operators
. Sinon, indiquez l'espace de noms unique correspondant à l'utilisation du mode d'installationSingleNamespace
. - 2
- Nom du canal auquel s'abonner.
- 3
- Nom de l'opérateur auquel s'abonner.
- 4
- Nom de la source du catalogue qui fournit l'opérateur.
- 5
- Espace de noms de la source de catalogue. Utilisez
openshift-marketplace
pour les sources de catalogue par défaut d'OperatorHub. - 6
- Le paramètre
env
définit une liste de variables d'environnement qui doivent exister dans tous les conteneurs du module créé par OLM. - 7
- Le paramètre
envFrom
définit une liste de sources pour alimenter les variables d'environnement dans le conteneur. - 8
- Le paramètre
volumes
définit une liste de volumes qui doivent exister sur le pod créé par OLM. - 9
- Le paramètre
volumeMounts
définit une liste de VolumeMounts qui doivent exister dans tous les conteneurs du pod créé par OLM. Si unvolumeMount
fait référence à unvolume
qui n'existe pas, OLM ne parvient pas à déployer l'opérateur. - 10
- Le paramètre
tolerations
définit une liste de tolérances pour le module créé par OLM. - 11
- Le paramètre
resources
définit les contraintes de ressources pour tous les conteneurs du module créé par OLM. - 12
- Le paramètre
nodeSelector
définit unNodeSelector
pour le module créé par OLM.
Créer l'objet
Subscription
:$ oc apply -f sub.yaml
A ce stade, OLM connaît l'opérateur sélectionné. Une version de service de cluster (CSV) pour l'opérateur devrait apparaître dans l'espace de noms cible, et les API fournies par l'opérateur devraient être disponibles pour la création.
3.4.4. Suppression d'opérateurs d'une grappe à l'aide de la console web
Les administrateurs de cluster peuvent supprimer les opérateurs installés dans un espace de noms sélectionné à l'aide de la console web.
Conditions préalables
-
Vous avez accès à la console web d'un cluster OpenShift Container Platform en utilisant un compte avec les permissions
cluster-admin
.
Procédure
-
Naviguez jusqu'à la page Operators
Installed Operators. - Faites défiler ou saisissez un mot-clé dans le champ Filter by name pour trouver l'opérateur que vous souhaitez supprimer. Cliquez ensuite dessus.
Sur le côté droit de la page Operator Details, sélectionnez Uninstall Operator dans la liste Actions.
Une boîte de dialogue Uninstall Operator? s'affiche.
Sélectionnez Uninstall pour supprimer l'opérateur, les déploiements de l'opérateur et les pods. Suite à cette action, l'opérateur cesse de fonctionner et ne reçoit plus de mises à jour.
NoteCette action ne supprime pas les ressources gérées par l'opérateur, y compris les définitions de ressources personnalisées (CRD) et les ressources personnalisées (CR). Les tableaux de bord et les éléments de navigation activés par la console Web et les ressources hors cluster qui continuent de fonctionner peuvent nécessiter un nettoyage manuel. Pour les supprimer après la désinstallation de l'opérateur, vous devrez peut-être supprimer manuellement les CRD de l'opérateur.
3.4.5. Suppression d'opérateurs d'une grappe à l'aide de la CLI
Les administrateurs de clusters peuvent supprimer les opérateurs installés dans un espace de noms sélectionné à l'aide de l'interface de ligne de commande.
Conditions préalables
-
Accès à un cluster OpenShift Container Platform à l'aide d'un compte disposant des autorisations
cluster-admin
. -
oc
installée sur le poste de travail.
Procédure
Vérifiez la version actuelle de l'opérateur souscrit (par exemple,
jaeger
) dans le champcurrentCSV
:$ oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSV
Exemple de sortie
currentCSV: jaeger-operator.v1.8.2
Supprimer l'abonnement (par exemple,
jaeger
) :$ oc delete subscription jaeger -n openshift-operators
Exemple de sortie
subscription.operators.coreos.com "jaeger" deleted
Supprimez le CSV de l'opérateur dans l'espace de noms cible en utilisant la valeur
currentCSV
de l'étape précédente :$ oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operators
Exemple de sortie
clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deleted