(VERALTET) Überwachen eines Kubernetes-Clusters mit Log Analytics

Tipp

Die aktualisierte Version dieses Tutorials zu Azure Kubernetes Service finden Sie unter Azure Monitor für Container (Vorschau) – Übersicht.

Warnung

Azure Container Service (ACS) wird ausgemustert. Für ACS werden keine neuen Features oder Funktionen mehr hinzugefügt. Sämtliche APIs, Portalfunktionen, CLI-Befehle und Dokumentationen werden als veraltet gekennzeichnet.

2017 wurde Azure Kubernetes Service (AKS) eingeführt, um die Verwaltung, die Bereitstellung und den Betrieb von Kubernetes zu vereinfachen. Falls Sie den Kubernetes-Orchestrator verwenden, migrieren Sie bitte bis spätestens 31. Januar 2020 zu Azure Kubernetes Service. Informationen zu den ersten Schritten finden Sie unter Migration von Azure Container Service (ACS) zu Azure Kubernetes Service (AKS).

Weitere Informationen finden Sie unter Einstellung von Azure Container Service am 31. Januar 2020.

Die Überwachung des Kubernetes-Clusters und der Kubernetes-Container ist wichtig, vor allem wenn Sie einen umfangreichen Produktionscluster mit mehreren Apps verwalten.

Sie können verschiedene Kubernetes-Überwachungslösungen nutzen, entweder von Microsoft oder von anderen Anbietern. In diesem Tutorial überwachen Sie Ihren Kubernetes-Cluster mithilfe der Containerlösung in Log Analytics (cloudbasierte IT-Verwaltungslösung von Microsoft). (Die Containerlösung befindet sich in der Vorschauphase.)

Dieses Tutorial – Teil 7 von 7 – behandelt folgende Aufgaben:

  • Abrufen der Einstellungen für den Log Analytics-Arbeitsbereich
  • Einrichten von Log Analytics-Agents auf den Kubernetes-Knoten
  • Zugreifen auf Überwachungsinformationen im Log Analytics-Portal oder Azure-Portal

Voraussetzungen

In vorherigen Tutorials wurden eine Anwendung in Containerimages gepackt, diese Images in Azure Container Registry hochgeladen und ein Kubernetes-Cluster erstellt.

Wenn Sie diese Schritte nicht ausgeführt haben und dies jetzt nachholen möchten, kehren Sie zum Tutorial 1 – Erstellen von Containerimages zurück.

Abrufen von Arbeitsbereichseinstellungen

Wenn Sie Zugriff auf das Log Analytics-Portal haben, wechseln Sie zu Einstellungen>Verbundene Quellen>Linux-Server. Dort finden Sie die Arbeitsbereichs-ID und einen primären oder sekundären Arbeitsbereichsschlüssel. Notieren Sie sich diese Werte, Sie benötigen sie zum Einrichten von Log Analytics-Agents im Cluster.

Erstellen eines Kubernetes-Geheimnisses

Speichern Sie die Log Analytics-Arbeitsbereichseinstellungen mit dem Befehl [kubectl create secret][kubectl-create-secret] in einem Kubernetes-Geheimnis namens omsagent-secret. Aktualisieren Sie WORKSPACE_ID mit der ID Ihres Log Analytics-Arbeitsbereichs und WORKSPACE_KEY mit dem Arbeitsbereichsschlüssel.

kubectl create secret generic omsagent-secret --from-literal=WSID=WORKSPACE_ID --from-literal=KEY=WORKSPACE_KEY

Einrichten von Log Analytics-Agents

Die folgende Kubernetes-Manifestdatei kann zum Konfigurieren der Containerüberwachungs-Agents in einem Kubernetes-Cluster verwendet werden. Mit der Datei wird ein Kubernetes-DaemonSet erstellt, das einen einzelnen identischen Pod auf jedem Clusterknoten ausführt.

Speichern Sie den folgenden Text in einer Datei mit dem Namen oms-daemonset.yaml.

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
 name: omsagent
spec:
 template:
  metadata:
   labels:
    app: omsagent
    agentVersion: 1.4.3-174
    dockerProviderVersion: 1.0.0-30
  spec:
   containers:
     - name: omsagent
       image: "microsoft/oms"
       imagePullPolicy: Always
       securityContext:
         privileged: true
       ports:
       - containerPort: 25225
         protocol: TCP
       - containerPort: 25224
         protocol: UDP
       volumeMounts:
        - mountPath: /var/run/docker.sock
          name: docker-sock
        - mountPath: /var/log
          name: host-log
        - mountPath: /etc/omsagent-secret
          name: omsagent-secret
          readOnly: true
        - mountPath: /var/lib/docker/containers
          name: containerlog-path
       livenessProbe:
        exec:
         command:
         - /bin/bash
         - -c
         - ps -ef | grep omsagent | grep -v "grep"
        initialDelaySeconds: 60
        periodSeconds: 60
   nodeSelector:
    beta.kubernetes.io/os: linux
   # Tolerate a NoSchedule taint on master that ACS Engine sets.
   tolerations:
    - key: "node-role.kubernetes.io/master"
      operator: "Equal"
      value: "true"
      effect: "NoSchedule"
   volumes:
    - name: docker-sock
      hostPath:
       path: /var/run/docker.sock
    - name: host-log
      hostPath:
       path: /var/log
    - name: omsagent-secret
      secret:
       secretName: omsagent-secret
    - name: containerlog-path
      hostPath:
       path: /var/lib/docker/containers

Erstellen Sie das DaemonSet mit dem folgenden Befehl:

kubectl create -f oms-daemonset.yaml

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das DaemonSet erstellt wurde:

kubectl get daemonset

Die Ausgabe sieht in etwa wie folgt aus:

NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE-SELECTOR   AGE
omsagent   3         3         3         0            3           <none>          5m

Wenn die Agents ausgeführt werden, dauert es einige Minuten, bis die Daten von Log Analytics erfasst und verarbeitet wurden.

Zugreifen auf Überwachungsdaten

Sie können die Containerüberwachungsdaten mit der Containerlösung im Log Analytics-Portal oder im Azure-Portal anzeigen und analysieren.

Um die Containerlösung über das Log Analytics-Portal zu installieren, wechseln Sie zu Lösungskatalog. Fügen Sie dann Containerlösung hinzu. Alternativ können Sie die Containerlösung über den Azure Marketplace hinzufügen.

Suchen Sie im Log Analytics-Portal die Zusammenfassungskachel Container auf dem Dashboard. Klicken Sie auf die Kachel, um Details anzuzeigen, z.B. Containerereignisse, Fehler, Status, Imageinventar sowie CPU- und Arbeitsspeicherauslastung. Detaillierte Informationen erhalten Sie, wenn Sie auf eine Zeile auf einer Kachel klicken oder eine Protokollsuche durchführen.

Containerdashboard im Azure-Portal

Im Azure-Portal navigieren Sie zu Log Analytics und wählen den Namen Ihres Arbeitsbereichs aus. Klicken Sie zum Anzeigen der Zusammenfassungskachel Container auf Lösungen>Container. Klicken Sie auf die Kachel, um Details anzuzeigen.

Ausführliche Anweisungen zum Abfragen und Analysieren von Überwachungsdaten finden Sie in der Dokumentation zu Azure Log Analytics.

Nächste Schritte

In diesem Tutorial haben Sie Ihren Kubernetes-Cluster mit Log Analytics überwacht. Sie haben folgende Aufgaben ausgeführt:

  • Abrufen der Einstellungen für den Log Analytics-Arbeitsbereich
  • Einrichten von Log Analytics-Agents auf den Kubernetes-Knoten
  • Zugreifen auf Überwachungsinformationen im Log Analytics-Portal oder Azure-Portal

Klicken Sie auf diesen Link, um vordefinierte Skriptbeispiele für Container Service anzuzeigen.