5.2. Installation de l’enregistrement avec Elasticsearch à l’aide du CLI
Elasticsearch est une application à forte intensité de mémoire. Le service Red Hat OpenShift sur AWS installe par défaut trois nœuds Elasticsearch avec des requêtes de mémoire et des limites de 16 Go. Cet ensemble initial de trois Red Hat OpenShift Service sur les nœuds AWS pourrait ne pas avoir assez de mémoire pour exécuter Elasticsearch dans votre cluster. Lorsque vous rencontrez des problèmes de mémoire liés à Elasticsearch, ajoutez plus de nœuds Elasticsearch à votre cluster plutôt que d’augmenter la mémoire sur les nœuds existants.
Conditions préalables
Assurez-vous que vous avez le stockage persistant nécessaire pour Elasticsearch. A noter que chaque nœud Elasticsearch nécessite son propre volume de stockage.
NoteLorsque vous utilisez un volume local pour le stockage persistant, n’utilisez pas de volume de bloc brut, qui est décrit avec volumeMode: bloc dans l’objet LocalVolume. Elasticsearch ne peut pas utiliser les volumes de blocs bruts.
Procédure
Créer un objet Namespace pour l’opérateur OpenShift Elasticsearch:
Exemple d’objet Namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier l’espace de noms openshift-operators-redhat. L’espace de noms openshift-operators peut contenir des opérateurs communautaires, qui ne sont pas fiables et pourraient publier une métrique avec le même nom qu’un service OpenShift Red Hat sur AWS, ce qui provoquerait des conflits.
- 2
- La valeur de chaîne qui spécifie l’étiquette comme indiqué pour s’assurer que la surveillance du cluster gratte l’espace de noms openshift-operators-redhat.
Appliquez l’objet Namespace en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un objet Namespace pour l’opérateur de journalisation OpenShift Red Hat:
Exemple d’objet Namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier openshift-logging comme espace de noms pour la journalisation des versions 5.7 et antérieures. Dans l’enregistrement 5.8 et plus tard, vous pouvez utiliser n’importe quel espace de noms.
Appliquez l’objet Namespace en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un objet OperatorGroup pour l’opérateur OpenShift Elasticsearch:
Exemple d’objet OperatorGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier l’espace de noms openshift-operators-redhat.
Appliquez l’objet OperatorGroup en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un objet d’abonnement pour abonner un espace de noms à l’opérateur OpenShift Elasticsearch:
NoteLe canal stable ne fournit que des mises à jour de la version la plus récente de l’enregistrement. Afin de continuer à recevoir des mises à jour pour les versions antérieures, vous devez changer votre canal d’abonnement en stable-x.y, où x.y représente la version majeure et mineure de la journalisation que vous avez installée. À titre d’exemple, stable-5.7.
Exemple d’objet d’abonnement
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier l’espace de noms openshift-operators-redhat.
- 2
- Indiquez stable, ou stable-<x.y> comme canal.
- 3
- Automatique permet au gestionnaire de cycle de vie de l’opérateur (OLM) de mettre à jour automatiquement l’opérateur lorsqu’une nouvelle version est disponible. Le manuel exige qu’un utilisateur avec les informations d’identification appropriées approuve la mise à jour de l’opérateur.
- 4
- Indiquez les redhat-operators. Lorsque votre Red Hat OpenShift Service sur AWS cluster est installé sur un réseau restreint, également appelé cluster déconnecté, spécifiez le nom de l’objet CatalogSource que vous avez créé lorsque vous avez configuré le gestionnaire de cycle de vie de l’opérateur (OLM)
Appliquer l’abonnement en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Contrôlez l’installation de l’opérateur en exécutant la commande suivante:
oc get csv --all-namespaces
$ oc get csv --all-namespaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un objet OperatorGroup pour l’opérateur de journalisation Red Hat OpenShift:
Exemple d’objet OperatorGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier openshift-logging comme espace de noms pour la journalisation des versions 5.7 et antérieures. Dans l’enregistrement 5.8 et plus tard, vous pouvez utiliser n’importe quel espace de noms.
- 2
- Il faut spécifier openshift-logging comme espace de noms pour la journalisation des versions 5.7 et antérieures. Dans l’enregistrement 5.8 et plus tard, vous pouvez utiliser n’importe quel espace de noms.
Appliquez l’objet OperatorGroup en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez un objet d’abonnement pour souscrire l’espace de noms à l’opérateur de journalisation Red Hat OpenShift:
Exemple d’objet d’abonnement
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut spécifier l’espace de noms openshift-logging pour la journalisation des versions 5.7 et antérieures. Lors de l’enregistrement des versions 5.8 et ultérieures, vous pouvez utiliser n’importe quel espace de noms.
- 2
- Indiquez stable ou stable-x.y comme canal.
- 3
- Indiquez les redhat-operators. Lorsque votre Red Hat OpenShift Service sur AWS cluster est installé sur un réseau restreint, également appelé cluster déconnecté, spécifiez le nom de l’objet CatalogSource que vous avez créé lorsque vous avez configuré le gestionnaire de cycle de vie de l’opérateur (OLM).
Appliquez l’objet d’abonnement en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un objet ClusterLogging en tant que fichier YAML:
Exemple ClusterLogging objet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom doit être instance.
- 2
- L’état de gestion OpenShift Logging. Dans certains cas, si vous modifiez les valeurs par défaut OpenShift Logging, vous devez définir ceci sur Ungaged. Cependant, un déploiement non géré ne reçoit pas de mises à jour tant qu’OpenShift Logging n’est pas placé dans un état géré.
- 3
- Configuration d’Elasticsearch. En utilisant le CR, vous pouvez configurer la stratégie de réplication shard et le stockage persistant.
- 4
- Indiquez la durée pendant laquelle Elasticsearch doit conserver chaque source de journal. Entrez un entier et une désignation de temps: semaines (w), heures (h/H), minutes(m) et secondes(s). À titre d’exemple, 7d pendant sept jours. Les journaux plus anciens que le maxAge sont supprimés. Il faut spécifier une stratégie de rétention pour chaque source de journal ou les indices Elasticsearch ne seront pas créés pour cette source.
- 5
- Indiquez le nombre de nœuds Elasticsearch.
- 6
- Entrez le nom d’une classe de stockage existante pour le stockage Elasticsearch. Afin d’obtenir des performances optimales, spécifiez une classe de stockage qui alloue le stockage en bloc. Dans le cas où vous ne spécifiez pas une classe de stockage, OpenShift Logging utilise le stockage éphémère.
- 7
- Indiquez les requêtes CPU et mémoire pour Elasticsearch au besoin. Lorsque vous laissez ces valeurs vides, l’opérateur OpenShift Elasticsearch définit des valeurs par défaut qui devraient être suffisantes pour la plupart des déploiements. Les valeurs par défaut sont 16Gi pour la requête mémoire et 1 pour la requête CPU.
- 8
- Indiquez les requêtes CPU et mémoire pour le proxy Elasticsearch au besoin. Lorsque vous laissez ces valeurs vides, l’opérateur OpenShift Elasticsearch définit des valeurs par défaut qui devraient être suffisantes pour la plupart des déploiements. Les valeurs par défaut sont 256Mi pour la requête mémoire et 100m pour la requête CPU.
- 9
- Configuration de Kibana. En utilisant le CR, vous pouvez mettre à l’échelle Kibana pour la redondance et configurer le CPU et la mémoire pour vos nœuds Kibana.
- 10
- Configuration de Fluentd. En utilisant le CR, vous pouvez configurer le CPU Fluentd et les limites de mémoire.
NoteLe nombre maximum de nœuds maîtres est de trois. Lorsque vous spécifiez un nodeCount supérieur à 3, Red Hat OpenShift Service sur AWS crée trois nœuds Elasticsearch qui sont des nœuds éligibles au Master, avec les rôles de maître, de client et de données. Les nœuds Elasticsearch supplémentaires sont créés en tant que nœuds de données uniquement, en utilisant des rôles de client et de données. Les nœuds maîtres effectuent des actions à l’échelle du cluster, telles que la création ou la suppression d’un index, l’allocation de fragments et le suivi des nœuds. Les nœuds de données conservent les fragments et effectuent des opérations liées aux données telles que CRUD, recherche et agrégations. Les opérations liées aux données sont intensives en E/S, en mémoire et en CPU. Il est important de surveiller ces ressources et d’ajouter d’autres nœuds de données si les nœuds actuels sont surchargés.
Ainsi, si nodeCount=4, les nœuds suivants sont créés:
oc get deployment
$ oc get deployment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
cluster-logging-operator-66f77ffccb-ppzbg 1/1 Running 0 7m elasticsearch-cdm-ftuhduuw-1-ffc4b9566-q6bhp 2/2 Running 0 2m40s elasticsearch-cdm-ftuhduuw-2-7b4994dbfc-rd2gc 2/2 Running 0 2m36s elasticsearch-cdm-ftuhduuw-3-84b5ff7ff8-gqnm2 2/2 Running 0 2m4s
cluster-logging-operator-66f77ffccb-ppzbg 1/1 Running 0 7m elasticsearch-cdm-ftuhduuw-1-ffc4b9566-q6bhp 2/2 Running 0 2m40s elasticsearch-cdm-ftuhduuw-2-7b4994dbfc-rd2gc 2/2 Running 0 2m36s elasticsearch-cdm-ftuhduuw-3-84b5ff7ff8-gqnm2 2/2 Running 0 2m4s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Appliquez le ClusterLogging CR en exécutant la commande suivante:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Contrôlez l’installation en exécutant la commande suivante:
oc get pods -n openshift-logging
$ oc get pods -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lorsqu’il n’y a pas de période de conservation définie sur le seau s3 ou dans la ressource personnalisée LokiStack (CR), les journaux ne sont pas taillés et ils restent dans le s3 pour toujours, ce qui pourrait remplir le stockage s3.