You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -34,6 +34,7 @@ Kubernetes ist seit geraumer Zeit das am meisten verwendete Werkzeug für die Or
34
34
Auf Ebene der Nodes und vom Cluster-Level bis hinab zu den einzelnen Pods, können Sie alle wichtigen Objekte Ihrer Workloads überwachen.
35
35
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.^]
36
36
37
+
[#supported]
37
38
=== Unterstützte Distributionen und Versionen
38
39
39
40
ifdef::onprem[]
@@ -56,18 +57,21 @@ Damit stellen wir vor allen Dingen die reibungslose Zusammenarbeit mit denjenige
56
57
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.
57
58
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.
58
59
60
+
[#getting_started]
59
61
=== Einstieg in das Kubernetes-Monitoring
60
62
61
63
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.^]
62
64
63
65
64
66
ifdef::onprem[]
67
+
[#structure]
65
68
=== Aufbau der Monitoring-Umgebung
66
69
67
70
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.
68
71
Diese können Sie dann wie üblich über das xref:distributed_monitoring#[verteilte Monitoring] an Ihre Zentralinstanz anbinden.
69
72
endif::[]
70
73
74
+
[#process]
71
75
=== Ablauf des Kubernetes-Monitorings in {CMK}
72
76
73
77
{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
86
90
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.
87
91
88
92
93
+
[#differences]
89
94
=== Unterschiede zum übrigen Monitoring in {CMK}
90
95
91
96
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
134
139
Wenn eine neue Version für Sie vorliegt, können Sie das Update mit `helm repo update` durchführen.
135
140
136
141
142
+
[#customize_configuration]
137
143
=== Konfiguration auf Ihre Umgebung anpassen
138
144
139
145
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
151
157
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.
152
158
153
159
160
+
[#create_values_yaml]
154
161
==== Minimale `values.yaml` selbst anlegen
155
162
156
163
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:
170
177
----
171
178
172
179
180
+
[#extract_values_yaml]
173
181
==== values.yaml aus Helm-Charts extrahieren
174
182
175
183
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
182
190
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.
183
191
184
192
193
+
[#ingress]
185
194
==== Kommunikation per Ingress bereitstellen
186
195
187
196
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:
209
218
----
210
219
211
220
221
+
[#nodeport]
212
222
==== Kommunikation per NodePort bereitstellen
213
223
214
224
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
226
236
nodePort: 30035
227
237
----
228
238
239
+
240
+
[#https]
229
241
==== Cluster Collector auf HTTPS umstellen
230
242
231
243
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
Mithilfe unserer Helm-Charts würde standardmäßig ein Service-Account in Ihrem Cluster erstellt.
@@ -278,6 +291,7 @@ serviceAccount:
278
291
----
279
292
280
293
294
+
[#prerequisites_gke]
281
295
==== Voraussetzung für Monitoring von GKE Autopilot
282
296
283
297
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:
491
505
[{shell-raw}]
492
506
----
493
507
{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
-
----
497
508
{c-user} export NODE_IP=$(kubectl get nodes --namespace checkmk-monitoring -o jsonpath="{.items[0].status.addresses[0].address}");
In {RE} müssen Sie die Hosts für die anfallenden Piggyback-Daten xref:piggyback#piggyback_in_practice[manuell erstellen.]
630
640
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`].
631
641
endif::[]
632
642
643
+
644
+
[#customize_discovery]
633
645
=== Periodische Service-Erkennung anpassen
634
646
635
647
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`]
@@ -832,6 +843,7 @@ So lassen sich in der Folge sehr einfach Filter und Regeln für alle Objekte gle
832
843
[#advanced_configuration]
833
844
== Erweiterte Konfiguration
834
845
846
+
[#change_configuration]
835
847
=== Änderungen an der Konfiguration vornehmen
836
848
837
849
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:
=== Netzwerkschnittstellen der Worker Nodes überwachen
848
860
849
861
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`.
864
876
865
877
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.
866
878
867
-
879
+
[#file_systems]
868
880
=== Dateisysteme auf Worker Nodes überwachen
869
881
870
882
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.
871
883
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.
872
884
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?
874
885
In Ihrer `values.yaml` könnte dieser Abschnitt beispielsweise so aussehen:
875
886
876
887
.values.yaml
877
888
[{yaml},highlight=4..5]
878
889
----
879
890
extraHostPathMounts:
880
-
- name: host-root
881
-
mountPath: "/host"
891
+
- name: my-host-root-directory
892
+
mountPath: "/myhost"
882
893
hostPath:
883
894
path: /
884
895
type: Directory
@@ -967,63 +978,6 @@ Hier sollten die drei Boxen [.guihint]#Primary datasource#, [.guihint]#Cluster c
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].
0 commit comments