(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.
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.