Udostępnij za pośrednictwem


(PRZESTARZAŁE) Monitorowanie klastra usługi Kubernetes przy użyciu usługi Log Analytics

Porada

Aby poznać zaktualizowaną wersję tego samouczka korzystającą z usługi Azure Kubernetes Service, zobacz Azure Monitor for containers (Preview) overview (Przegląd usługi Azure Monitor dla kontenerów — wersja zapoznawcza).

Ostrzeżenie

Usługa Azure Container Service (ACS) stała się przestarzała. Do usługi ACS nie są już dodawane żadne nowe funkcje. Wszystkie interfejsy API, środowisko portalu, polecenia interfejsu wiersza polecenia i dokumentacja są oznaczone jako przestarzałe.

W 2017 r. wprowadziliśmy usługę Azure Kubernetes Service (AKS), aby uprościć wdrażanie i operacje platformy Kubernetes oraz zarządzanie nią. Jeśli używasz orkiestratora platformy Kubernetes, przeprowadź migrację do usługi AKS do 31 stycznia 2020 r. Aby rozpocząć pracę, zapoznaj się z artykułem dotyczącym migracji do usługi Azure Kubernetes Service.

Aby uzyskać więcej informacji, zobacz ogłoszenie o zakończeniu obsługi usługi Azure Container Service w witrynie Azure.com.

Monitorowanie klastra i kontenerów usługi Kubernetes ma krytyczne znaczenie, szczególnie w przypadku zarządzania klastrem produkcyjnym o dużej skali i z wieloma aplikacjami.

Możesz korzystać z kilku rozwiązań do monitorowania usługi Kubernetes pochodzących od firmy Microsoft lub innych dostawców. W tym samouczku przedstawiono monitorowanie klastra Kubernetes za pomocą rozwiązania Containers w usłudze Log Analytics — oprogramowaniu firmy Microsoft do zarządzania chmurową infrastrukturą IT. (Rozwiązanie Containers jest dostępne w wersji zapoznawczej).

Ten samouczek (część 7 z 7) obejmuje następujące zadania:

  • Pobieranie ustawień obszaru roboczego usługi Log Analytics
  • Konfigurowanie agentów usługi Log Analytics w węzłach Kubernetes
  • Uzyskiwanie dostępu do informacji monitorowania w portalu usługi Log Analytics lub w witrynie Azure Portal

Zanim rozpoczniesz

W poprzednich samouczkach aplikacja została spakowana w postaci obrazów kontenera, obrazy zostały przekazane do usługi Azure Container Registry i utworzono klaster usługi Kubernetes.

Jeśli nie wykonano tych kroków, a chcesz kontynuować pracę, wróć do części Samouczek 1 — tworzenie obrazów kontenera.

Pobieranie ustawień obszaru roboczego

Po uzyskaniu dostępu do portalu usługi Log Analytics przejdź do pozycji Ustawienia>Połączone źródła>Serwery z systemem Linux. Tu możesz znaleźć identyfikator obszaru roboczego i podstawowy lub pomocniczy klucz obszaru roboczego. Zanotuj te wartości. Będą one potrzebne do skonfigurowania agentów usługi Log Analytics w klastrze.

Tworzenie wpisu tajnego rozwiązania Kubernetes

Zapisz ustawienia obszaru roboczego usługi Log Analytics we wpisie tajnym rozwiązania Kubernetes o nazwie omsagent-secret za pomocą polecenia [kubectl create secret][kubectl-create-secret]. Zaktualizuj element WORKSPACE_ID za pomocą identyfikatora obszaru roboczego usługi Log Analytics, a element WORKSPACE_KEY za pomocą klucza obszaru roboczego.

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

Konfigurowanie agentów usługi Log Analytics

Do skonfigurowania agentów monitorowania kontenerów w klastrze Kubernetes można użyć następującego pliku manifestu usługi Kubernetes. Umożliwia on utworzenie elementu DaemonSet usługi Kubernetes, który uruchamia pojedyncze, identyczne zasobniki w każdym węźle klastra.

Zapisz poniższy tekst do pliku o nazwie 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

Utwórz element DaemonSet przy użyciu następującego polecenia:

kubectl create -f oms-daemonset.yaml

Aby sprawdzić, czy element DaemonSet został utworzony, uruchom polecenie:

kubectl get daemonset

Dane wyjściowe będą podobne do następujących:

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

Po uruchomieniu agentów pozyskanie i przetworzenie danych przez usługę Log Analytics trwa kilka minut.

Dostęp do danych monitorowania

Dane monitorowania kontenera można wyświetlać i analizować za pomocą rozwiązania Containers w portalu usługi Log Analytics lub w witrynie Azure Portal.

Aby zainstalować rozwiązanie Containers przy użyciu portalu usługi Log Analytics, przejdź do Galerii rozwiązań. Następnie dodaj element Rozwiązanie Containers. Rozwiązanie Containers możesz też dodać z witryny Azure Marketplace.

W portalu usługi Log Analytics wyszukaj kafelek podsumowania Containers na pulpicie nawigacyjnym. Kliknij kafelek, aby wyświetlić szczegółowe informacje, w tym zdarzenia kontenera, błędy, stan, spis obrazów oraz użycie procesora i pamięci. Aby uzyskać bardziej szczegółowe informacje, kliknij wiersz w dowolnym kafelku lub przeszukaj dzienniki.

Pulpit nawigacyjny rozwiązania Containers w witrynie Azure Portal

Podobnie w witrynie Azure Portal wybierz pozycję Log Analytics i wybierz nazwę obszaru roboczego. Aby wyświetlić kafelek podsumowania Containers, kliknij pozycję Rozwiązania>Containers. Aby wyświetlić szczegóły, kliknij kafelek.

Szczegółowy przewodnik dotyczący odpytywania i analizowania danych monitorowania znajduje się w dokumentacji usługi Azure Log Analytics.

Następne kroki

W tym samouczku przedstawiono sposób monitorowania klastra Kubernetes za pomocą usługi Log Analytics. Wykonano następujące zadania:

  • Pobieranie ustawień obszaru roboczego usługi Log Analytics
  • Konfigurowanie agentów usługi Log Analytics w węzłach Kubernetes
  • Uzyskiwanie dostępu do informacji monitorowania w portalu usługi Log Analytics lub w witrynie Azure Portal

Kliknij ten link, aby wyświetlić wstępnie utworzone przykładowe skrypty dla usługi Container Service.