Protokollierung für Cluster

Red Hat® OpenShift® on IBM Cloud®-Cluster enthalten integrierte Tools für die Erstellung von Cluster- und App-Protokollen, die Sie bei der Verwaltung des Zustands Ihrer Clusterinstanz unterstützen. Sie können außerdem IBM Cloud-Tools für die Multi-Cluster-Analyse oder andere Anwendungsfälle einrichten, beispielsweise die IBM Cloud Kubernetes Service-Cluster-Add-ons: IBM Cloud Logs und IBM Cloud Monitoring.

Erläuterung der Optionen für die Protokollierung

Die folgenden Informationen sollen Ihnen helfen zu entscheiden, wann die integrierten Red Hat OpenShift-Tools oder die IBM Cloud-Integrationen zu verwenden sind.

IBM Cloud Logs

Anpassbare Benutzeroberfläche für das Live-Streaming von Protokoll-Tailing, Fehlerbehebung in Echtzeit, Fehleralerts und Protokollarchivierung.

  • Schnelle Integration im Cluster per Script.
  • Cluster- und cloud-provider-übergreifend aggregierte Protokolle.
  • Auf dem von Ihnen ausgewählten Plan basierender Langzeitzugriff auf Protokolle.
  • Hochverfügbar, skalierbar und konform mit Sicherheitsstandards.
  • Kombination mit IBM Cloud IAM für das Management des Benutzerzugriffs.

Cluster-Verwaltungsereignisse anzeigen, die von der Red Hat OpenShift on IBM Cloud-API generiert werden. Für den Zugriff auf diese Protokolle stellen Sie eine Instanz von IBM Cloud Logs bereit. Weitere Informationen zu den Typen von IBM Cloud Kubernetes Service-Ereignissen, die Sie überwachen können, finden Sie unter Activity Tracker-Ereignisse.

Integrierte Red Hat OpenShift-Protokollierungstools

Integrierte Ansicht der Podprotokolle in der Red Hat OpenShift-Webkonsole.

  • Integrierte Podprotokolle haben keine Konfiguration mit persistentem Speicher. Sie müssen eine Clouddatenbank integrieren, um die Protokollierungsdaten zu sichern und hoch verfügbar zu machen und die Protokolle selbst zu verwalten.

Informationen zum Einrichten eines Stacks aus OpenShift Container Platform(Elasticsearch), Fluentd und Kibana(EFK) finden Sie unter Installation des Cluster Logging Operators. Beachten Sie, dass Ihre Workerknoten mindestens 4 Kerne und 32 GB Speicher benötigen, um den Clusterprotokollierungsstack auszuführen.

Integrierte Red Hat OpenShift-Auditprotokollierungstools

Die API-Auditprotokollierung zur Überwachung der vom Benutzer eingeleiteten Aktivitäten wird derzeit nicht unterstützt.

Migration von Protokollierungs- und Überwachungsagenten zu Cloud Logs

Das Observability-CLI-Plug-in ibmcloud ob und die Endpunkte v2/observe werden nicht mehr unterstützt. Es gibt keinen direkten Ersatz, aber Sie können Ihre Protokollierungs- und Überwachungsintegrationen jetzt über die Konsole oder über die Helm Diagramme verwalten. Die neuesten Schritte: Bereitstellen des Protokollierungsagenten für OpenShift Cluster und Überwachen eines Red Hat OpenShift Clusters.

Sie können das ob Plug-in, Terraform oder die API nicht mehr verwenden, um Observability-Agenten auf einem Cluster zu installieren oder Ihre bestehende Konfiguration zu ändern. Sysdig-Agenten senden weiterhin Metriken an die angegebene IBM Cloud Monitoring-Instanz.

Überprüfung Ihrer Beobachtungsbeauftragten

Das Observability-Plug-in installiert Sysdig-Agenten im Namespace ibm-observe.

  1. Rufen Sie Ihren Red Hat OpenShift-Cluster auf.
  1. Überprüfen Sie die Configmaps im Namespace ibm-observe.
    kubectl get cm -n ibm-observe
    
    Example output
    NAME                                   DATA   AGE
    e405f1fc-feba-4350-9337-e7e249af871c   6      25m
    f59851a6-ede6-4719-afa0-eee7ce65eeb5   6      20m
    
  1. Die vom Observability-Plug-in installierten Observability-Agenten verwenden eine ConfigMap mit der GUID der IBM Cloud Monitoring-Instanz, an die die Metriken gesendet werden. Wenn Ihr Cluster Agenten in einem anderen Namensraum als ibm-observe hat oder die configmaps in ibm-observe nicht mit den Instanz-GUIDs benannt sind, dann wurden diese Agenten nicht mit dem IKS observability (ob) Plug-in installiert.

Entfernen der Beobachtbarkeits-Plug-in-Agenten

  1. Bereinigen Sie die Daemonsets und Configmaps.
    kubectl delete daemonset sysdig-agent -n ibm-observe
    kubectl delete configmap <sysdig-configmap> -n ibm-observe
    
  2. Optional: Löschen Sie den Namespace. Nachdem keine anderen Ressourcen im Namensraum ausgeführt werden.
    kubectl delete namespace ibm-observe
    

Nachdem das Plug-in entfernt wurde, installieren Sie die Logging- und Monitoring-Agenten in Ihrem Cluster erneut – entweder über das Cluster-Dashboard, mit Terraform oder manuell.

Weitere Informationen erhalten Sie nach Auswahl der folgenden Links.

Clusterprotokollierungsoperator verwenden

Informationen zur Bereitstellung des OpenShift Container Platform-Cluster-Logging-Operators und -Stacks in Ihrem Red Hat OpenShift on IBM Cloud-Cluster finden Sie in der Dokumentation unter Red Hat OpenShift. Darüber hinaus müssen Sie die Clusterprotokollierungsinstanz aktualisieren, um eine IBM Cloud Blockspeicherspeicherklasse zu verwenden.

  1. Bereiten Sie Ihren Worker-Pool vor, um den Operator auszuführen.

    1. Erstellen Sie einen VPC-Worker-Pool oder einen klassischen-Worker-Pool mit mindestens 4 Kernen und 32 GB Speicher sowie drei Workerknoten.
    2. Kennzeichnen Sie den Worker-Pool.
    3. Versehen Sie den Workerpool mit einem Taint, damit andere Workloads nicht im Workerpool ausgeführt werden können.
  2. Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  3. Klicken Sie in der Red Hat OpenShift-Webkonsolenperspektive Administrator auf Operatoren > Installierte Operatoren.

  4. Klicken Sie auf Clusterprotokollierung.

  5. Klicken Sie im Abschnitt Bereitgestellte APIs auf der Kachel Clusterprotokollierung auf Instanz erstellen.

  6. Ändern Sie die YAML-Konfigurationsdatei und geben Sie dabei als Speicherklasse für den ElasticSearch-Protokollspeicher anstelle von gp2 den Wert einer der folgenden Speicherklassen an, je nachdem, welchen Clusterinfrastrukturanbieter Sie verwenden.

    • Klassische Cluster: ibmc-block-gold
    • VPC-Cluster: ibmc-vpc-block-10iops-tier
    ...
        elasticsearch:
          nodeCount: 3
          redundancyPolicy: SingleRedundancy
          storage:
            storageClassName: ibmc-block-gold #or ibmc-vpc-block-10iops-tier for VPC clusters
            size: 200G
    ...
    
  7. Fügen Sie in der YAML-Konfiguration den Knotenselektor und die Tolerierung für die Worker-Pool-Bezeichnung und den Worker-Pool-Taint ein, die Sie zuvor erstellt haben. Weitere Informationen und Beispiele finden Sie in den folgenden Red Hat OpenShift-Dokumenten. Die Beispiele verwenden logging: clo-efk für Bezeichnung und Tolerierung.

    • SelektorNode. Fügen Sie den Knotenselektor zu Elasticsearch-Pods (logstore), Kibana-Pods (visualization) und Fluentd-Pods (collector.logs) hinzu.
        spec:
        logStore:
          elasticsearch:
            nodeSelector:
              logging: clo-efk
        ...
        visualization:
          kibana:
            nodeSelector:
              logging: clo-efk
        ...
        collection:
          logs:
            fluentd:
              nodeSelector:
                logging: clo-efk
        ```
    * [Toleranz](https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/nodes/controlling-pod-placement-onto-nodes-scheduling#nodes-scheduler-taints-tolerations-about_nodes-scheduler-taints-tolerations){: external}. Fügen Sie den Knotenselektor zu Elasticsearch-Pods (`logstore`), Kibana-Pods (`visualization`) und Fluentd-Pods (`collector.logs`) hinzu.
    ```yaml {: codeblock}
        spec:
        logStore:
          elasticsearch:
            tolerations:
            - key: app
              value: clo-efk
              operator: "Exists"
              effect: "NoExecute"
        ...
        visualization:
          kibana:
            tolerations:
            - key: app
              value: clo-efk
              operator: "Exists"
              effect: "NoExecute"
        ...
        collection:
          logs:
            fluentd:
              tolerations:
              - key: app
                value: clo-efk
                operator: "Exists"
                effect: "NoExecute"
        ```
    
  8. Klicken Sie auf Erstellen.

  9. Überprüfen Sie, ob die Operator-Pods sowie die Elasticsearch-, Fluentd- und Kibana-Pods alle den Status Running aufweisen.