Rechercher

34.3. Installation de l'opérateur d'observabilité du réseau

download PDF

L'installation de Loki est une condition préalable à l'utilisation de l'opérateur d'observabilité du réseau. Il est recommandé d'installer Loki à l'aide de l'opérateur Loki ; par conséquent, ces étapes sont documentées ci-dessous avant l'installation de l'opérateur d'observabilité du réseau.

L'opérateur Loki intègre une passerelle qui met en œuvre l'authentification multi-tenant & avec Loki pour le stockage des flux de données. La ressource LokiStack ressource gère Lokiqui est un système d'agrégation de logs évolutif, hautement disponible et multitenant, et un proxy web avec l'authentification OpenShift Container Platform. Le proxy LokiStack utilise l'authentification OpenShift Container Platform pour renforcer le multi-tenant et faciliter l'enregistrement et l'indexation des données dans les magasins de logs Loki magasins de logs.

Note

L'opérateur Loki peut également être utilisé pour la journalisation avec la LokiStack. L'opérateur d'observabilité du réseau nécessite une LokiStack dédiée, séparée de la journalisation.

34.3.1. Installation de l'opérateur Loki

Il est recommandé d'installer Loki en utilisant la version 5.6 de Loki Operator. Cette version permet de créer une instance de LokiStack en utilisant le mode de configuration openshift-network tennant. Elle fournit également un support d'authentification et d'autorisation entièrement automatique au sein du cluster pour Network Observability.

Conditions préalables

  • Log Store pris en charge (AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)
  • OpenShift Container Platform 4.10 .
  • Noyau Linux 4.18 .

Il y a plusieurs façons d'installer Loki. L'une des façons d'installer l'opérateur Loki est d'utiliser la console web Operator Hub de OpenShift Container Platform.

Procédure

  1. Installer l'opérateur Loki Operator:

    1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
    2. Choisissez Loki Operator dans la liste des opérateurs disponibles, et cliquez sur Install.
    3. Sous Installation Modesélectionner All namespaces on the cluster.
    4. Vérifiez que vous avez installé l'opérateur Loki. Visitez le site Operators Installed Operators et cherchez Loki Operator.
    5. Vérifiez que Loki Operator est listé avec Status comme Succeeded dans tous les projets.
  2. Créez un fichier YAML Secret. Vous pouvez créer ce secret dans la console web ou dans le CLI.

    1. À l'aide de la console web, naviguez jusqu'à l'écran Project All Projects et sélectionnez Create Project. Nommez le projet netobserv et cliquez sur Create.
    2. Naviguez jusqu'à l'icône d'importation , dans le coin supérieur droit. Déposez votre fichier YAML dans l'éditeur. Il est important de créer ce fichier YAML dans l'espace de noms netobserv qui utilise access_key_id et access_key_secret pour spécifier vos informations d'identification.
    3. Une fois le secret créé, vous devriez le voir apparaître sous la rubrique Workloads Secrets dans la console web.

      Voici un exemple de fichier YAML secret :

apiVersion: v1
kind: Secret
metadata:
  name: loki-s3
  namespace: netobserv
stringData:
  access_key_id: QUtJQUlPU0ZPRE5ON0VYQU1QTEUK
  access_key_secret: d0phbHJYVXRuRkVNSS9LN01ERU5HL2JQeFJmaUNZRVhBTVBMRUtFWQo=
  bucketnames: s3-bucket-name
  endpoint: https://s3.eu-central-1.amazonaws.com
  region: eu-central-1
Important

Pour désinstaller Loki, reportez-vous à la procédure de désinstallation correspondant à la méthode que vous avez utilisée pour installer Loki. Il se peut que vous ayez encore ClusterRoles et ClusterRoleBindings, des données stockées dans le magasin d'objets et des volumes persistants qui doivent être supprimés.

34.3.1.1. Créer une ressource personnalisée LokiStack

Il est recommandé de déployer la LokiStack dans le même espace de noms que celui référencé par la spécification FlowCollector, spec.namespace. Vous pouvez utiliser la console web ou le CLI pour créer un espace de noms, ou un nouveau projet.

Procédure

  1. Naviguer vers Operators Installed Operators.
  2. Dans les détails, sous Provided APIssélectionnez LokiStack et cliquez sur Create LokiStack.
  3. Veillez à ce que les champs suivants soient spécifiés soit dans Form View ou YAML view:

      apiVersion: loki.grafana.com/v1
      kind: LokiStack
      metadata:
        name: loki
        namespace: netobserv
      spec:
        size: 1x.small
        storage:
          schemas:
          - version: v12
            effectiveDate: '2022-06-01'
          secret:
            name: loki-s3
            type: s3
        storageClassName: gp3  1
        tenants:
          mode: openshift-network
    1
    Utilisez un nom de classe de stockage disponible sur le cluster pour le mode d'accès ReadWriteOnce. Vous pouvez utiliser oc get storageclasses pour voir ce qui est disponible sur votre cluster.
    Important

    Vous ne devez pas réutiliser la même LokiStack que celle utilisée pour la journalisation des clusters.

34.3.1.1.1. Dimensionnement du déploiement

Le dimensionnement de Loki suit le format suivant N<x>.<size> où la valeur <N> est le nombre d'instances et <size> spécifie les capacités de performance.

Note

1x.extra-small est utilisé à des fins de démonstration uniquement et n'est pas pris en charge.

Tableau 34.1. Taille Loki
 1x.extra-petit1x.petit1x.moyen

Data transfer

Utilisation à des fins de démonstration uniquement.

500GB/jour

2TB/jour

Queries per second (QPS)

Utilisation à des fins de démonstration uniquement.

25-50 QPS à 200ms

25-75 QPS à 200ms

Replication factor

Aucun

2

3

Total CPU requests

5 vCPU

36 vCPUs

54 vCPUs

Total Memory requests

7.5Gi

63Gi

139Gi

Total Disk requests

150Gi

300Gi

450Gi

34.3.1.2. Limites d'ingestion et alertes sanitaires de LokiStack

L'instance de LokiStack est livrée avec des paramètres par défaut en fonction de la taille configurée. Il est possible de remplacer certains de ces paramètres, tels que les limites d'ingestion et de requête. Vous pourriez vouloir les mettre à jour si vous obtenez des erreurs Loki dans le plugin Console, ou dans les journaux flowlogs-pipeline. Une alerte automatique dans la console web vous notifie lorsque ces limites sont atteintes.

Voici un exemple de limites configurées :

spec:
  limits:
    global:
      ingestion:
        ingestionBurstSize: 40
        ingestionRate: 20
        maxGlobalStreamsPerTenant: 25000
      queries:
        maxChunksPerQuery: 2000000
        maxEntriesLimitPerQuery: 10000
        maxQuerySeries: 3000

Pour plus d'informations sur ces paramètres, voir la référence de l'API LokiStack.

34.3.2. Créer des rôles pour l'authentification et l'autorisation

Spécifiez les configurations d'authentification et d'autorisation en définissant ClusterRole et ClusterRoleBinding. Vous pouvez créer un fichier YAML pour définir ces rôles.

Procédure

  1. Dans la console web, cliquez sur l'icône d'importation, .
  2. Déposez votre fichier YAML dans l'éditeur et cliquez sur Create:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: loki-netobserv-tenant
    rules:
    - apiGroups:
      - 'loki.grafana.com'
      resources:
      - network
      resourceNames:
      - logs
      verbs:
      - 'get'
      - 'create'
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: loki-netobserv-tenant
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: loki-netobserv-tenant
    subjects:
    - kind: ServiceAccount
      name: flowlogs-pipeline              1
      namespace: netobserv
    1
    Le site flowlogs-pipeline écrit à Loki. Si vous utilisez Kafka, cette valeur est flowlogs-pipeline-transformer.

34.3.3. Installation de Kafka (optionnel)

L'Opérateur Kafka est pris en charge pour les environnements à grande échelle. Vous pouvez installer l'Opérateur Kafka en tant que Red Hat AMQ Streams à partir de l'Operator Hub, tout comme l'Opérateur Loki et l'Opérateur Network Observability ont été installés.

Note

Pour désinstaller Kafka, reportez-vous à la procédure de désinstallation correspondant à la méthode utilisée pour l'installation.

34.3.4. Installation de l'opérateur d'observabilité du réseau

Vous pouvez installer l'opérateur d'observabilité réseau à l'aide de la console web Operator Hub de OpenShift Container Platform. Lorsque vous installez l'opérateur, il fournit la définition de ressource personnalisée (CRD) FlowCollector. Vous pouvez définir des spécifications dans la console web lorsque vous créez le FlowCollector.

Conditions préalables

Note

Cette documentation part du principe que le nom de votre instance LokiStack est loki. L'utilisation d'un nom différent nécessite une configuration supplémentaire.

Procédure

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Choisissez Network Observability Operator dans la liste des opérateurs disponibles dans la fenêtre OperatorHubet cliquez sur Install.
  3. Cochez la case Enable Operator recommended cluster monitoring on this Namespace.
  4. Naviguer vers Operators Installed Operators. Sous Provided APIs for Network Observability, sélectionnez le lien Flow Collector lien.

    1. Naviguez jusqu'à l'onglet Flow Collector et cliquez sur Create FlowCollector. Effectuez les sélections suivantes dans la vue du formulaire :

      • spec.agent.ebpf.Sampling taille d'échantillonnage : Spécifier une taille d'échantillonnage pour les flux. Des tailles d'échantillonnage plus faibles auront un impact plus important sur l'utilisation des ressources. Pour plus d'informations, voir la référence de l'API FlowCollector, sous spec.agent.ebpf.
      • spec.deploymentModel: Si vous utilisez Kafka, vérifiez que Kafka est sélectionné.
      • spec.exporters: Si vous utilisez Kafka, vous pouvez éventuellement envoyer des flux de réseau à Kafka, afin qu'ils puissent être consommés par tout processeur ou stockage prenant en charge l'entrée Kafka, comme Splunk, Elasticsearch ou Fluentd. Pour ce faire, définissez les spécifications suivantes :

        • Réglez le type sur KAFKA.
        • Régler le address comme kafka-cluster-kafka-bootstrap.netobserv.
        • Régler le topic comme netobserv-flows-export. L'opérateur exporte tous les flux vers le sujet Kafka configuré.
        • Définir les spécifications suivantes tls les spécifications :

          • certFile: service-ca.crt, name: kafka-gateway-ca-bundle, et type: configmap.

            Vous pouvez également configurer cette option ultérieurement en modifiant directement le fichier YAML. Pour plus d'informations, voir Export enriched network flow data.

      • loki.url: L'authentification étant spécifiée séparément, cette URL doit être mise à jour comme suit https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network. La première partie de l'URL, "loki", doit correspondre au nom de votre LokiStack.
      • loki.statusUrl: Réglez cette valeur sur https://loki-query-frontend-http.netobserv.svc:3100/. La première partie de l'URL, "loki", doit correspondre au nom de votre LokiStack.
      • loki.authToken: Sélectionnez la valeur FORWARD.
      • tls.enable: Vérifiez que la case est cochée et qu'elle est donc activée.
      • statusTls: La valeur enable est fausse par défaut.

        Pour la première partie du certificat, les noms de référence : loki-gateway-ca-bundle, loki-ca-bundle, et loki-query-frontend-http,loki, doivent correspondre au nom de votre LokiStack.

    2. Cliquez Create.

Vérification

Pour confirmer que l'opération s'est déroulée correctement, lorsque vous naviguez vers Observe vous devriez voir Network Traffic dans les options.

En l'absence de Application Traffic dans le cluster OpenShift Container Platform, les filtres par défaut peuvent indiquer qu'il n'y a pas de résultats, ce qui ne permet pas de visualiser le flux. À côté des sélections de filtres, sélectionnez Clear all filters pour voir le flux.

Important

Si vous avez installé Loki en utilisant l'Opérateur Loki, il est conseillé de ne pas utiliser querierUrl, car cela peut casser l'accès à la console de Loki. Si vous avez installé Loki en utilisant un autre type d'installation de Loki, ceci ne s'applique pas.

Ressources supplémentaires

34.3.5. Désinstallation de l'opérateur d'observabilité du réseau

Vous pouvez désinstaller l'opérateur d'observabilité réseau à l'aide de la console web Operator Hub d'OpenShift Container Platform, en travaillant dans l'espace de travail Operators Installed Operators zone.

Procédure

  1. Supprimer la ressource personnalisée FlowCollector.

    1. Cliquez Flow Collectorqui se trouve à côté de l'icône Network Observability Operator dans la colonne Provided APIs colonne.
    2. Cliquez sur le menu des options kebab pour l'option cluster et sélectionnez Delete FlowCollector.
  2. Désinstaller l'opérateur d'observabilité du réseau.

    1. Retournez à la page Operators Installed Operators dans l'espace.
    2. Cliquez sur le menu des options kebab à côté de l'icône Network Observability Operator et sélectionnez Uninstall Operator.
    3. Home Projects et sélectionner openshift-netobserv-operator
    4. Naviguez jusqu'à Actions et sélectionnez Delete Project
  3. Supprimez la définition de ressource personnalisée (CRD) de FlowCollector.

    1. Naviguer vers Administration CustomResourceDefinitions.
    2. Cherchez FlowCollector et cliquez sur le menu des options kebab .
    3. Sélectionner Delete CustomResourceDefinition.

      Important

      L'opérateur Loki et Kafka restent en place s'ils ont été installés et doivent être supprimés séparément. En outre, vous pouvez avoir des données restantes stockées dans un magasin d'objets et un volume persistant qui doivent être supprimés.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.