Skip to content

Commit e569a75

Browse files
committed
KNW-2130 finalized translation, added anchors, cleaned up a bit
1 parent b3bab88 commit e569a75

2 files changed

Lines changed: 119 additions & 187 deletions

File tree

src/common/de/monitoring_kubernetes.asciidoc

Lines changed: 23 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// -*- coding: utf-8 -*-
2-
// IGNORE
2+
// IGNORE Allowlist AllowlistSynchronizer Allowlists CRI RKE2 k3s
33
// NONASCII
44
include::global_attr.adoc[]
55
= Kubernetes überwachen
@@ -34,6 +34,7 @@ Kubernetes ist seit geraumer Zeit das am meisten verwendete Werkzeug für die Or
3434
Auf Ebene der Nodes und vom Cluster-Level bis hinab zu den einzelnen Pods, können Sie alle wichtigen Objekte Ihrer Workloads überwachen.
3535
Eine vollständige Auflistung aller verfügbaren Check-Plugins für die Überwachung von Kubernetes finden Sie in unserem link:https://checkmk.com/de/integrations?tags=kubernetes[Katalog der Check-Plugins.^]
3636

37+
[#supported]
3738
=== Unterstützte Distributionen und Versionen
3839

3940
ifdef::onprem[]
@@ -56,18 +57,21 @@ Damit stellen wir vor allen Dingen die reibungslose Zusammenarbeit mit denjenige
5657
Unmittelbar nach dem Release einer neuen Version von Kubernetes kann es -- je nach Umfang der Neuerungen und Zeitpunkt -- etwas dauern, bis auch diese vollständig in {CMK} unterstützt wird.
5758
Sobald {CMK} mit dieser neuen Version reibungslos zusammenarbeiten kann, werden wir dies in einem Werk (wie beispielsweise link:https://checkmk.com/werk/19449[Werk #19449^]) kundtun.
5859

60+
[#getting_started]
5961
=== Einstieg in das Kubernetes-Monitoring
6062

6163
Für einen Einstieg in das Monitoring von Kubernetes empfehlen wir unsere beiden Videos link:https://www.youtube.com/watch?v=H9AlO98afUE[Kubernetes Monitoring with {CMK}^] und link:https://www.youtube.com/watch?v=2H-cLhyfYbc[Detecting issues and configuring alerts for Kubernetes clusters.^]
6264

6365

6466
ifdef::onprem[]
67+
[#structure]
6568
=== Aufbau der Monitoring-Umgebung
6669

6770
Da es in Kubernetes-Clustern sehr schnell auch zu größeren Veränderungen kommen kann, was die Anzahl und Verortung der einzelnen Komponenten angeht, empfehlen wir, für das Monitoring Ihrer Kubernetes-Umgebung eine eigene Instanz zu erstellen.
6871
Diese können Sie dann wie üblich über das xref:distributed_monitoring#[verteilte Monitoring] an Ihre Zentralinstanz anbinden.
6972
endif::[]
7073

74+
[#process]
7175
=== Ablauf des Kubernetes-Monitorings in {CMK}
7276

7377
{CMK} überwacht Ihre Kubernetes-Cluster auf zwei Wegen:
@@ -86,6 +90,7 @@ Ein nicht unerheblicher Teil der folgenden Ausführungen dreht sich dann auch da
8690
Auch ist die Verwendung der xref:dashboards[Kubernetes-Dashboards] in den kommerziellen Editionen nur dann sinnvoll, wenn Node und Cluster Collector hierfür Daten zur Auslastung liefern können.
8791

8892

93+
[#differences]
8994
=== Unterschiede zum übrigen Monitoring in {CMK}
9095

9196
Beim Monitoring von Pods und Replicas in Ihren Kubernetes-Clustern kommt es mitunter wesentlich häufiger zu Statusänderungen bzw. zu Verzögerungen.
@@ -134,6 +139,7 @@ checkmk-chart/checkmk 1.0.0 1.0.0 Helm chart for Checkmk - Your
134139
Wenn eine neue Version für Sie vorliegt, können Sie das Update mit `helm repo update` durchführen.
135140

136141

142+
[#customize_configuration]
137143
=== Konfiguration auf Ihre Umgebung anpassen
138144

139145
Da wir im Vorfeld nicht wissen können, wie Ihr Kubernetes-Cluster aufgebaut ist, haben wir die sicherste Variante gewählt, wie die Cluster Collectors gestartet werden:
@@ -151,6 +157,7 @@ Sie können entweder die von uns in den Helm-Charts mitgelieferte Datei extrahie
151157
Immer wenn Sie Änderungen an dieser Datei in Ihrem Cluster bereitstellen möchten, können Sie erneut den später folgenden Befehl zur xref:install_helm_charts[Installation] des Helm-Charts verwenden.
152158

153159

160+
[#create_values_yaml]
154161
==== Minimale `values.yaml` selbst anlegen
155162

156163
Sie können eine `values.yaml` anlegen, in die Sie nur die Werte eintragen, die Sie auch ändern wollen.
@@ -170,6 +177,7 @@ Eine Aktivierung von _Ingress_ könnte etwa so aussehen:
170177
----
171178

172179

180+
[#extract_values_yaml]
173181
==== values.yaml aus Helm-Charts extrahieren
174182

175183
Die vollständige von uns link:https://raw.githubusercontent.com/Checkmk/checkmk_kube_agent/refs/heads/main/deploy/charts/checkmk/values.yaml[mitgelieferte `values.yaml`^] lässt sich mit dem folgenden Befehl aus dem Helm-Chart extrahieren:
@@ -182,6 +190,7 @@ Die vollständige von uns link:https://raw.githubusercontent.com/Checkmk/checkmk
182190
Die so erzeugte Datei können Sie nun nach Ihren Bedürfnissen anpassen und bei der xref:install_helm_charts[Installation] oder einem späteren Upgrade mit dem Parameter `-f values.yaml` an `helm` übergeben.
183191

184192

193+
[#ingress]
185194
==== Kommunikation per Ingress bereitstellen
186195

187196
Falls Sie link:https://kubernetes.io/docs/concepts/services-networking/ingress/[Ingress^] verwenden, um die Zugriffe zu Ihren Diensten zu steuern, passen Sie entsprechend die bereits vorbereiteten Teile in der `values.yaml` an.
@@ -209,6 +218,7 @@ Die restlichen Parameter passen Sie entsprechend Ihrer Umgebung an:
209218
----
210219
211220
221+
[#nodeport]
212222
==== Kommunikation per NodePort bereitstellen
213223
214224
Sie können den Zugriff auf die Dienste auch direkt über einen Port bereitstellen.
@@ -226,6 +236,8 @@ Sie setzen dabei den Wert `type` auf `NodePort` und entfernen die Auskommentieru
226236
nodePort: 30035
227237
----
228238
239+
240+
[#https]
229241
==== Cluster Collector auf HTTPS umstellen
230242
231243
Wenn Sie die Kommunikation mit dem und zwischen den Cluster Collectors auf HTTPS umstellen möchten, müssen Sie hierzu ebenfalls Änderungen in der Datei `values.yaml` vornehmen.
@@ -264,6 +276,7 @@ Beachten Sie dabei nur die folgenden Voraussetzungen, die die Zertifikate erfül
264276
`subjectAltName = DNS:<service_name>.<namespace>.cluster.local, DNS:<service_name>.<namespace>, IP:<service ip>`
265277
266278
279+
[#configure_sa]
267280
==== Eigenen Service-Account verwenden
268281
269282
Mithilfe unserer Helm-Charts würde standardmäßig ein Service-Account in Ihrem Cluster erstellt.
@@ -278,6 +291,7 @@ serviceAccount:
278291
----
279292
280293
294+
[#prerequisites_gke]
281295
==== Voraussetzung für Monitoring von GKE Autopilot
282296
283297
Falls Sie Ihren GKE-Cluster (Google Kubernetes Engine) im Autopilot-Modus betreiben, so ist das Monitoring mit {CMK} problemlos möglich, da {CMK} ein sogenannter link:https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-partners?hl=de#allowlisted-partner-workloads[Autopilot Partner] ist.
@@ -491,12 +505,7 @@ Der erste Block zeigt Ihnen Informationen zum NodePort an:
491505
[{shell-raw}]
492506
----
493507
{c-user} export NODE_PORT=$(kubectl get --namespace checkmk-monitoring -o jsonpath="{.spec.ports[0].nodePort}" services myrelease-checkmk-cluster-collector);
494-
----
495-
[{shell-raw}]
496-
----
497508
{c-user} export NODE_IP=$(kubectl get nodes --namespace checkmk-monitoring -o jsonpath="{.items[0].status.addresses[0].address}");
498-
----
499-
[{shell-raw}]
500509
{c-user} echo http://$NODE_IP:$NODE_PORT
501510
http://10.184.38.103:30035
502511
----
@@ -624,12 +633,15 @@ image::monitoring_kubernetes_connection_properties.png[alt="Beispielhafte Einste
624633
625634
626635
ifdef::onprem[]
636+
[#piggyback_data]
627637
=== Piggyback-Daten in {RE} verarbeiten
628638
629639
In {RE} müssen Sie die Hosts für die anfallenden Piggyback-Daten xref:piggyback#piggyback_in_practice[manuell erstellen.]
630640
Weil hier in einem Kubernetes-Cluster eine große Zahl an Piggybacked-Hosts entstehen dürften, empfiehlt sich die Verwendung des Befehls xref:piggyback#orphaned_piggyback_data[`cmk-piggyback list orphans`].
631641
endif::[]
632642
643+
644+
[#customize_discovery]
633645
=== Periodische Service-Erkennung anpassen
634646
635647
Standardmäßig führt {CMK} alle zwei Stunden eine Service-Erkennung durch und zeigt das Ergebnis dieser Erkennung im Service [.guihint]#Check_MK Discovery# an.
@@ -810,7 +822,6 @@ In einem solchen Fall müssen Sie vor dem oben erklärten xref:update[`Update`]
810822
[{shell}]
811823
----
812824
{c-user} kubectl delete --all deploy,ds -n checkmk-monitoring
813-
kubectl delete --all deploy,ds -n checkmk-monitoring
814825
deployment.apps "myrelease-checkmk-cluster-collector" deleted
815826
daemonset.apps "myrelease-checkmk-node-collector-container-metrics" deleted
816827
daemonset.apps "myrelease-checkmk-node-collector-machine-sections" deleted
@@ -832,6 +843,7 @@ So lassen sich in der Folge sehr einfach Filter und Regeln für alle Objekte gle
832843
[#advanced_configuration]
833844
== Erweiterte Konfiguration
834845
846+
[#change_configuration]
835847
=== Änderungen an der Konfiguration vornehmen
836848
837849
Wie oben bereits beschrieben, empfehlen wir für die Konfiguration der Überwachung Ihrer Kubernetes-Cluster, das von uns zur Verfügung gestellte Helm-Chart zu verwenden.
@@ -843,7 +855,7 @@ Der Befehl kann dann etwa so aussehen:
843855
{c-user} helm upgrade -n checkmk-monitoring myrelease checkmk-chart/checkmk -f values.yaml
844856
----
845857
846-
858+
[#network_interfaces]
847859
=== Netzwerkschnittstellen der Worker Nodes überwachen
848860
849861
Wenn Sie die Netzwerkschnittstellen Ihrer Worker Nodes überwachen möchten, müssen Sie das dem {CMK} Node Collector entsprechend mitteilen.
@@ -864,21 +876,20 @@ Im Auslieferungszustand steht der Schlüssel `enabled` noch auf `false`.
864876
865877
Wenn Sie dann zusätzlich noch beeinflussen möchten, welche Netzwerkschnittstellen auf welche Art erkannt werden sollen, können Sie eine Regel im Regelsatz [.guihunt]#Network interface and switch port discovery# einrichten und dieser als Bedingung beispielsweise das Host-Label `cmk/kubernetes/object:node` mitgeben.
866878
867-
879+
[#file_systems]
868880
=== Dateisysteme auf Worker Nodes überwachen
869881
870882
In einigen Kubernetes-Umgebungen (bspw. Tanzu) *kann* es sinnvoll sein, Dateisysteme des Hosts in den {CMK} Node Collector zu mounten, um diese überwachen zu können.
871883
In unserer mitgelieferten `values.yaml` haben wir für diesen Fall das Dictionary `.nodeCollector.machineSectionsCollector.extraHostPathMounts` eingebaut, das Sie leicht auskommentieren und anpassen können, um bestimmte Dateisysteme in das Blickfeld des Node Collectors zu rücken.
872884
873-
// ML: Vielleicht ein paar Erklärungen zu den einzelnen Einträgen? Gerade sowas wie "root-host" lässt immer vermuten, dass es sich um einen speziellen Ausdruck handelt - vielleicht "my-extra-host-path-mount" oder so?
874885
In Ihrer `values.yaml` könnte dieser Abschnitt beispielsweise so aussehen:
875886
876887
.values.yaml
877888
[{yaml},highlight=4..5]
878889
----
879890
extraHostPathMounts:
880-
- name: host-root
881-
mountPath: "/host"
891+
- name: my-host-root-directory
892+
mountPath: "/myhost"
882893
hostPath:
883894
path: /
884895
type: Directory
@@ -967,63 +978,6 @@ Hier sollten die drei Boxen [.guihint]#Primary datasource#, [.guihint]#Cluster c
967978
968979
image::monitoring_kubernetes_cluster_state.png[alt="Funktionierendes Cluster-Monitoring."]
969980
970-
////
971-
[#rancher]
972-
== Kubernetes in Rancher-Installationen
973-
974-
=== Service-Account anlegen
975-
976-
Mit Rancher ist die Einrichtung des Monitorings in {CMK} der oben beschriebenen Variante sehr ähnlich.
977-
Auch hier benötigen Sie den Service-Account, damit {CMK} auf den Cluster zugreifen kann.
978-
Den Account erstellen Sie direkt in der Rancher-Weboberfläche, wo Sie anschließend auch dessen Token und Zertifikat finden, die Sie wiederum in {CMK} importieren.
979-
980-
Navigieren Sie in Rancher zunächst nach [.guihint]#Global > Security > Roles > Clusters#, um eine neue Rolle `checkmk` anzulegen:
981-
982-
[{image-border}]
983-
image::rancher_roles.png[]
984-
985-
Der Einfachheit halber klonen Sie die Rolle [.guihint]#Cluster Owner#:
986-
987-
[{image-border}]
988-
image::rancher_roles_clone.png[]
989-
990-
Entziehen Sie der geklonten Rolle unter [.guihint]#Grant Resources# die Rechte [.guihint]#Create,# [.guihint]#Delete,# [.guihint]#Patch# und [.guihint]#Update#:
991-
992-
[{image-border}]
993-
image::rancher_roles_clone_rights.png[]
994-
995-
Erstellen Sie nun einen neuen Rancher-Benutzer `checkmk` unter [.guihint]#Global > Users > Add User#.
996-
Bei [.guihint]#Global Permissions# wählen Sie die Option [.guihint]#User-Base#, um dem Benutzer nur die nötigsten Leserechte einzuräumen:
997-
998-
[{image-border}]
999-
image::rancher_adduser.png[]
1000-
1001-
1002-
=== Cluster-Rolle zuordnen
1003-
1004-
Wechseln Sie nun zu Ihrem Cluster und klicken Sie im Cluster-Menü oben rechts auf [.guihint]#Edit.#
1005-
Hier können Sie über [.guihint]#Add Member# den eben angelegten Benutzer [.guihint]#checkmk# mit der zugehörigen Rolle [.guihint]#checkmk# zum Cluster hinzufügen:
1006-
1007-
[{image-border}]
1008-
image::rancher_addmember.png[]
1009-
1010-
1011-
=== Weiteres Vorgehen
1012-
1013-
Melden Sie sich anschließend mit dem neuen Benutzer bei Rancher an, rufen Sie den Cluster auf und klicken Sie auf [.guihint]#Kubeconfig File#.
1014-
Hier finden Sie drei Angaben, die Sie für das Monitoring in {CMK} benötigen:
1015-
1016-
* `clusters` > `cluster` > `server`: URL-/Pfadangabe für die xref:rule[{CMK}-Regel]
1017-
* `clusters` > `cluster` > `certificate-authority-data`: Das base64-kodierte Zertifikat
1018-
* `users` > `user` > `token`: Zugangspasswort in Form eines Bearer Tokens
1019-
1020-
image::rancher_kubeconfig.png[]
1021-
1022-
Das Zertifikat müssen Sie noch dekodieren, auf der Befehlszeile beispielsweise mit `base64 --decode` oder in einem der vielen Online-Dienste.
1023-
1024-
Die Einrichtung in {CMK} entspricht ab hier dem Vorgehen bei purer Kubernetes-Nutzung ab dem Abschnitt xref:setupincheckmk[Monitoring in {CMK} einrichten].
1025-
1026-
////
1027981
1028982
[#remove]
1029983
== Monitoring-Komponenten aus Cluster entfernen

0 commit comments

Comments
 (0)