Skip to content

Commit 7e887a6

Browse files
committed
KNW-2158 - ready for translation
1 parent aef4319 commit 7e887a6

2 files changed

Lines changed: 210 additions & 71 deletions

File tree

src/common/de/monitoring_kubernetes.asciidoc

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,7 @@ Auch ist die Verwendung der xref:dashboards[Kubernetes-Dashboards] in den kommer
8585

8686

8787
=== Unterschiede zum übrigen Monitoring in {CMK}
88-
//SK: Hier ist sicherlich eine genauere Erklärung erforderlich.
89-
// TK: Ja, ist etwas kurz. Ist mir auch nicht ganz klar: Was ist der Unterschied, ob ich einen Snapshot der Zustände jede Minute oder alle 10 Minuten bekomme? Das Ergebnis ist doch dann genauso "zweifelhaft", bleibt aber für 10 Minuten statt für 1 Minute stehen.
90-
// TK: Folgefrage: kann man die 10min verändern? Sollte man das tun? Und wenn nicht, warum?
91-
// SK: Diese 10 Minuten beziehen sich tatsächlich nur auf kube_pod_status und kube_replicas. Das muss ich noch mal genauer rausarbeiten. Jetzt füge ich erstmal diese beiden Begriffe hinzu.
88+
9289
Beim Monitoring von Pods und Replicas in Ihren Kubernetes-Clustern kommt es mitunter wesentlich häufiger zu Statusänderungen bzw. zu Verzögerungen.
9390
Um dem Rechnung zu tragen, ändern die Checks bei bestimmten Zuständen dieser Objekte erst nach 10 Minuten ihren Status in {CMK}.
9491

@@ -121,8 +118,6 @@ Sie können aber selbstverständlich auch jeden anderen Namen nutzen:
121118
Wir aktualisieren unsere Helm-Charts immer dann, wenn neue Gegebenheiten in Kubernetes dies erfordern.
122119
Deshalb lohnt sich von Zeit zu Zeit eine Prüfung, ob im Repository neue Versionen verfügbar sind.
123120
Wenn Sie Ihre lokale Kopie unseres Repositorys, wie in dem vorherigen Befehl, mit `checkmk-chart` bezeichnet haben, können Sie sich mit dem folgenden Befehl alle im Repository vorliegenden Versionen der Charts anzeigen lassen:
124-
// TK: Ichnuwieder: Wie finde ich denn raus, welche Version ich installiert habe? Ja, ist nicht so wichtig...
125-
// SK: Der Hinweis, wie man herausfinden kann, welcher Helm-Chart aktuell im eigenen Cluster läuft käme hier verfrührt, weil ja eben noch nix läuft. Es wäre eventuell sinnvoller hier nur einen Verweis auf ein späteres Kapitel einzufügen.
126121

127122
[{shell}]
128123
----
@@ -188,8 +183,6 @@ Die so erzeugte Datei können Sie nun nach Ihren Bedürfnissen anpassen und bei
188183
==== Kommunikation per Ingress bereitstellen
189184

190185
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.
191-
// TK: Den Link würde ich weiter oben setzen, wo Du Ingress das 1. Mal erwähnst. Zu NodePort gibt es wohl keine Erklärung? Vielleicht: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
192-
// SK: Bei der ersten Erwähnung von Ingress in der Einleitung wäre mir das eine zu große Ablenkung. Da will ich keinen Link haben. An der zweiten Stelle ist Ingress zu nebensächlich. Da könnte der Link untergehen.
193186
Zur besseren Übersicht ist in dem folgenden Beispiel nur der relevante Ausschnitt gezeigt.
194187
Den Parameter `enabled` setzen Sie auf `true`.
195188
Die restlichen Parameter passen Sie entsprechend Ihrer Umgebung an:
@@ -729,9 +722,6 @@ Konsultieren Sie an dieser Stelle erneut die ausführliche Inline-Hilfe.
729722
*Hinweis:* Die Option [.guihint]#Import all valid annotations# bieten wir an dieser Stelle nur der Vollständigkeit halber an.
730723
Wir raten davon ab, einfach blind alle _Annotations_ zu importieren, weil hierdurch mitunter ein sehr großer Berg nutzloser Labels in {CMK} erzeugt wird.
731724
732-
// TK: Auskommentiert, weil passt nicht mehr
733-
// Nachdem Sie nun alles eingerichtet haben, könnte Ihre Regel wie folgt aussehen:
734-
735725
*Wichtig:* Unter [.guihint]#Conditions > Explicit hosts# *müssen* Sie nun den xref:source-host[zuvor angelegten Host] eintragen:
736726
737727
image::monitoring_kubernetes_explicit_hosts.png[alt="Regeln für Spezialagenten müssen, wie hier zu sehen, immer auf explizite Hosts festgelegt werden."]
@@ -744,8 +734,7 @@ image::monitoring_kubernetes_service_discovery.png[alt="Exemplarische Ansicht de
744734
Aktivieren Sie im Anschluss alle vorgenommenen Änderungen und überlassen Sie ab jetzt der dynamischen Host-Verwaltung die Arbeit.
745735
Diese wird schon nach kurzer Zeit alle Hosts für Ihre Kubernetes-Objekte erzeugen.
746736
747-
// ML: review notes KNW-1200: "die Helm Chart" nach "das Helm-Chart" geändert (gemäß Dictionary); ebenso updaten -> aktualisieren; und ein paar Typos.
748-
// ML: Wir: Ärzte-Wir und Checkmk-Wir wechseln sich in diesem Kapitel ab, erstere müssen weg - aber wie genau, überlasse ich lieber Dir.
737+
749738
[#update]
750739
== Cluster-Überwachung aktualisieren
751740
@@ -806,7 +795,7 @@ Der Service [.guihint]#Cluster collector# zeigt Ihnen die verwendete Version an:
806795
807796
image::monitoring_kubernetes_verify_collector_update.png[alt="Exemplarische Ansicht des Service Cluster collector."]
808797
809-
// SK: Ich denke noch über eine bessere Überschrift nach.
798+
810799
[#incompatible_changes]
811800
=== Inkompatible Änderungen
812801
@@ -836,7 +825,7 @@ Alle Labels zu Kubernetes-Objekten, die {CMK} automatisch erzeugt, beginnen mit
836825
Ein Pod erhält beispielsweise immer ein Label der Node (`cmk/kubernetes/node:mynode`), ein Label, welches eben zeigt, dass es sich bei diesem Objekt um einen Pod handelt (`cmk/kubernetes/object:pod`) und ein Label für den Namespace (`cmk/kubernetes/namespace:mynamespace`).
837826
So lassen sich in der Folge sehr einfach Filter und Regeln für alle Objekte gleichen Typs bzw. im gleichen Namespace erstellen.
838827
839-
// SK: In das folgende Kapitel werde ich bei nächster Gelegenheit alle Punkt aus 'Konfiguration auf Ihre Umgebung anpassen' verschieben, die da oben nicht zwingend für die Einrichtung des Monitorings benötigt werden.
828+
840829
[#advanced_configuration]
841830
== Erweiterte Konfiguration
842831

src/common/en/monitoring_kubernetes.asciidoc

Lines changed: 206 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,15 @@ An activation of _Ingress_ could look like this:
173173

174174
==== Extracting values.yaml from Helm charts
175175

176+
// This block replaces the following text
177+
// start translation
178+
////
179+
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:
180+
////
181+
// end translation
182+
// delete from here
176183
The complete `values.yaml` supplied by us can be easily extracted with the following command:
184+
// delete to here
177185

178186
[{shell}]
179187
----
@@ -284,6 +292,54 @@ serviceAccount:
284292

285293
If you operate your GKE (Google Kubernetes Engine) cluster in Autopilot mode, monitoring it with {CMK} is also possible, as {CMK} is a so-called link:https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-partners#allowlisted-partner-workloads[Autopilot partner].
286294

295+
// This block replaces the following text
296+
// start translation
297+
////
298+
Zwei Dinge müssen Sie noch erledigen, bevor ein Autopilot-Cluster mit {CMK} überwacht werden kann.
299+
300+
In der `values.yaml` finden Sie einen Abschnitt `gkeAutopilot`.
301+
Stellen Sie hier `enabled` auf `true`:
302+
303+
.values.yaml
304+
[{yaml}]
305+
----
306+
gkeAutopilot:
307+
## Enable GKE Autopilot specific configurations
308+
enabled: true
309+
----
310+
311+
Darunter finden Sie noch die Einstellung `matchingAllowlist`.
312+
In der `values.yaml` müssen Sie an diesem Eintrag nichts ändern.
313+
In Ihrem Autopilot-Cluster muss aber eben diese Allowlist noch eingerichtet werden.
314+
Das funktioniert am einfachsten mit einem sogenannten AllowlistSynchronizer, den Sie mit dem folgenden Befehl in Ihrem Cluster einrichten können.
315+
316+
[{shell}]
317+
----
318+
{c-user} kubectl apply -f https://raw.githubusercontent.com/Checkmk/checkmk_kube_agent/refs/heads/main/deploy/manifests/gke-allowlist/cmk-allowlist-synchronizer.yaml
319+
----
320+
321+
Details zu diesen Allowlists für privilegierte Arbeitslasten (englisch: _privileged workloads_) und was es damit genau auf sich hat, finden Sie in dem Artikel link:https://docs.cloud.google.com/kubernetes-engine/docs/how-to/run-autopilot-partner-workloads?hl=de#create-allowlistsynchronizer[Zulassung privilegierter Arbeitslasten im Autopilot-Modus steuern] der GKE-Dokumentation.
322+
323+
324+
[#rancher]
325+
==== Kubernetes in Rancher-Installationen
326+
327+
Wenn Sie Cluster überwachen wollen, die Sie mit Rancher managen, können Sie die benötigten Arbeitslasten ebenfalls mit unserer Helm-Chart direkt in Ihr Cluster installieren.
328+
In der `values.yaml` müssen Sie gegebenenfalls den CRI-Socket von `containerd` explizit angeben.
329+
Bei k3s und RKE2 ist dieser häufig in `/run/k3s/containerd/containerd.sock` zu finden.
330+
331+
Kommentieren Sie die Zeile, die mit `containerdOverride` ein und passen Sie die Stelle an Ihre Umgebung an.
332+
333+
.values.yaml
334+
[{yaml}]
335+
----
336+
## k3s and Rancher RKE2 host containerd in a different location.
337+
## If you are using one of them, or containerd is located in an alternate location, please uncomment / adapt the override.
338+
containerdOverride: "/run/k3s/containerd/containerd.sock"
339+
----
340+
////
341+
// end translation
342+
// delete from here
287343
You only need to set `var_run` to `readOnly` in your `values.yaml`:
288344

289345
.values.yaml
@@ -293,6 +349,7 @@ volumeMountPermissions:
293349
var_run:
294350
readOnly: true
295351
----
352+
// delete to here
296353

297354

298355
[#pod_security_standards]
@@ -711,6 +768,92 @@ image::monitoring_kubernetes_service_discovery.png[alt="An example of a view fro
711768
Now activate all of the changes you have made and let the dynamic host management do the work for you.
712769
This will create all hosts for your Kubernetes objects within a short space of time.
713770
771+
// start translation
772+
////
773+
[#update]
774+
== Cluster-Überwachung aktualisieren
775+
776+
Wie wir im Abschnitt xref:#setup_helm_repo[Helm-Repository einrichten] bereits angedeutet haben, nehmen wir anlassbezogen Updates am {CMK} Cluster Collector und am {CMK} Node Collector vor.
777+
Es könnte beispielsweise notwendig sein, den enthaltenen {CMK}-Agenten zu aktualisieren.
778+
Damit diese Änderungen auch in Ihrem Cluster ankommen, müssen Sie zuerst das Helm-Repository aktualisieren.
779+
Führen Sie dazu den folgenden Befehl aus:
780+
781+
[{shell}]
782+
----
783+
{c-user} helm repo update
784+
Hang tight while we grab the latest from your chart repositories...
785+
...Successfully got an update from the "checkmk-chart" chart repository
786+
Update Complete. Happy Helming!
787+
----
788+
789+
[.admonition-tip]
790+
****
791+
An dieser Stelle sollten Sie prüfen, ob unser neues Helm-Chart Werte enthält, das Ihre angepasste `values.yaml` ggf. wieder überschreiben würden.
792+
Im Speziellen sollten Sie prüfen, ob in Ihrer `values.yaml` der Schlüssel `.image.tag` gesetzt wird.
793+
Diesen müssen Sie dann entweder auf die Version des neusten Helm-Chart setzen oder aus Ihrer `values.yaml` löschen, damit in Zukunft immer das `.image.tag` direkt aus dem Helm-Chart verwendet wird.
794+
****
795+
796+
Wenn Sie mit den Inhalten Ihrer `values.yaml` zufrieden sind, können Sie im Anschluss das neue Helm-Chart mit Ihren angepassten Werten an Ihr Cluster übergeben:
797+
798+
[{shell}]
799+
----
800+
{c-user} helm upgrade -n checkmk-monitoring myrelease checkmk-chart/checkmk -f values.yaml
801+
Release "myrelease" has been upgraded. Happy Helming!
802+
NAME: myrelease
803+
LAST DEPLOYED: Wed Mar 25 12:10:26 2026
804+
NAMESPACE: checkmk-monitoring
805+
STATUS: deployed
806+
REVISION: 17
807+
TEST SUITE: None
808+
NOTES:
809+
You can access the checkmk cluster-collector via:
810+
NodePort:
811+
export NODE_PORT=$(kubectl get --namespace checkmk-monitoring -o jsonpath="{.spec.ports[0].nodePort}" services myrelease-checkmk-cluster-collector);
812+
export NODE_IP=$(kubectl get nodes --namespace checkmk-monitoring -o jsonpath="{.items[0].status.addresses[0].address}");
813+
echo \http://$NODE_IP:$NODE_PORT
814+
pass:[#] Cluster-internal DNS of cluster-collector: myrelease-checkmk-cluster-collector.checkmk-monitoring
815+
With the token of the service account named `myrelease-checkmk-checkmk` in the namespace `checkmk-monitoring` you can now issue queries against the `cluster-collector`.
816+
Run the following to fetch its token and the ca-certificate of the cluster:
817+
export TOKEN=$(kubectl get secret myrelease-checkmk-checkmk -n checkmk-monitoring -o=jsonpath='{.data.token}' | base64 --decode);
818+
export CA_CRT="$(kubectl get secret myrelease-checkmk-checkmk -n checkmk-monitoring -o=jsonpath='{.data.ca\.crt}' | base64 --decode)";
819+
pass:[#] Note: Quote the variable when echo'ing to preserve proper line breaks: `echo "$CA_CRT"`
820+
To test access you can run:
821+
curl -H "Authorization: Bearer $TOKEN" \http://$NODE_IP:$NODE_PORT/metadata | jq
822+
----
823+
824+
In diesem Beispiel nehmen wir weiterhin an, dass Ihr Release `myrelease` und der verwendete Namespace `checmk-monitoring` heißt.
825+
Passen Sie beide Parameter gegebenenfalls an Ihre Umgebung an.
826+
827+
Die Überwachung Ihres Clusters sollte nun mit den neuen Versionen von Cluster Collector und Node Collector laufen.
828+
Prüfen können Sie das in der Oberfläche von {CMK}.
829+
Der Service [.guihint]#Cluster collector# zeigt Ihnen die verwendete Version an:
830+
831+
image::monitoring_kubernetes_verify_collector_update.png[alt="Exemplarische Ansicht des Service Cluster collector."]
832+
833+
834+
[#incompatible_changes]
835+
=== Inkompatible Änderungen
836+
837+
Bestimmte Arten von Änderungen an Helm-Charts machen es erforderlich, dass Kubernetes-Objekte erst entfernt und dann neu erzeugt werden.
838+
Beispielweise die Entfernung von Labels, die zu einem Kubernetes-Objekt gehören, macht dies erforderlich.
839+
Wenn wir eine solche inkompatible Änderung vornehmen, wird dies im zugehörigen Werk angegeben.
840+
In einem solchen Fall müssen Sie vor dem oben erklärten xref:update[`Update`] noch den folgenden Befehl ausführen:
841+
842+
[{shell}]
843+
----
844+
{c-user} kubectl delete --all deploy,ds -n checkmk-monitoring
845+
kubectl delete --all deploy,ds -n checkmk-monitoring
846+
deployment.apps "myrelease-checkmk-cluster-collector" deleted
847+
daemonset.apps "myrelease-checkmk-node-collector-container-metrics" deleted
848+
daemonset.apps "myrelease-checkmk-node-collector-machine-sections" deleted
849+
----
850+
851+
In diesem Beispiel nehmen wir weiterhin an, dass Ihr Release `myrelease` und der verwendete Namespace `checmk-monitoring` heißt.
852+
Passen Sie den im Befehl verwendeten Namespace gegebenenfalls an Ihre Umgebung an.
853+
////
854+
// end translation
855+
856+
714857
[#labels]
715858
== Labels for Kubernetes objects
716859
@@ -719,6 +862,69 @@ All of the labels for Kubernetes objects that {CMK} automatically generates star
719862
For example, a pod always receives a label for the node (`cmk/kubernetes/node:mynode`), a label that shows that this object is a pod (`cmk/kubernetes/object:pod`) and a label for the namespace (`cmk/kubernetes/namespace:mynamespace`).
720863
This makes it very easy to create filters and rules for all objects of the same type or in the same namespace.
721864
865+
866+
// start translation
867+
////
868+
[#advanced_configuration]
869+
== Erweiterte Konfiguration
870+
871+
=== Änderungen an der Konfiguration vornehmen
872+
873+
Wie oben bereits beschrieben, empfehlen wir für die Konfiguration der Überwachung Ihrer Kubernetes-Cluster, die von uns zur Verfügung gestellte Helm-Chart zu verwenden.
874+
Wenn Sie dann im Anschluss an die Ersteinrichtung Änderungen an dieser Konfiguration vornehmen wollen, müssen Sie nur die von Ihnen erzeugte `values.yaml` modifizieren und diese anschließend an den Befehl `helm upgrade` übergeben.
875+
Der Befehl kann dann etwa so aussehen:
876+
877+
[{shell}]
878+
----
879+
{c-user} helm upgrade -n checkmk-monitoring myrelease checkmk-chart/checkmk -f values.yaml
880+
----
881+
882+
883+
=== Netzwerkschnittstellen der Worker Nodes überwachen
884+
885+
Wenn Sie die Netzwerkschnittstellen Ihrer Worker Nodes überwachen möchten, müssen Sie das dem {CMK} Node Collector entsprechend mitteilen.
886+
Setzen Sie dafür den Schlüssel `.nodeCollector.machineSectionsCollector.networkInterfaceMonitoring.enabled` auf `true`.
887+
In der von {CMK} bereitgestellten `values.yaml` finden Sie dazu bereits einen entsprechenden Abschnitt:
888+
889+
.values.yaml
890+
[{yaml},highlight=4..5]
891+
----
892+
# the machine sections collector can collect monitoring information for network interfaces of the underlying node.
893+
# this means that the '/sys' directory of the node will be mounted into the container.
894+
# the pod security policy is adjusted accordingly.
895+
networkInterfaceMonitoring:
896+
enabled: false
897+
----
898+
899+
Im Auslieferungszustand steht der Schlüssel `enabled` noch auf `false`.
900+
901+
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.
902+
903+
904+
=== Dateisysteme auf Worker Nodes überwachen
905+
906+
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.
907+
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.
908+
909+
// 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?
910+
In Ihrer `values.yaml` könnte dieser Abschnitt beispielsweise so aussehen:
911+
912+
.values.yaml
913+
[{yaml},highlight=4..5]
914+
----
915+
extraHostPathMounts:
916+
- name: host-root
917+
mountPath: "/host"
918+
hostPath:
919+
path: /
920+
type: Directory
921+
----
922+
923+
Wenn Sie dann zusätzlich noch beeinflussen möchten, welche Dateisysteme erkannt werden sollen, können Sie eine Regel im Regelsatz [.guihunt]#Filesystem discovery# einrichten und dieser als Bedingung beispielsweise das Host-Label `cmk/kubernetes/object:node` mitgeben.
924+
////
925+
// end translation
926+
927+
722928
[#dashboards_views]
723929
== Dashboards and views
724930
@@ -799,62 +1005,6 @@ Here the three boxes [.guihint]#Primary datasource#, [.guihint]#Cluster collecto
7991005
8001006
image::monitoring_kubernetes_cluster_state.png[alt="A correctly-functioning cluster monitoring."]
8011007
802-
////
803-
[#rancher]
804-
== Kubernetes in Rancher installations
805-
806-
=== Creating a service account
807-
808-
With Rancher, setting up a monitoring in {CMK} is very similar to the variant described above.
809-
Here, too, you need the service account so that {CMK} can access the cluster.
810-
You create the account directly in the Rancher web interface, where you can also find its token and certificate, which you import into {CMK}.
811-
812-
In Rancher, first navigate to [.guihint]#Global > Security > Roles > Clusters# to create a new role, `checkmk`:
813-
814-
[{image-border}]
815-
image::rancher_roles.png[]
816-
817-
For simplicity, first clone the [.guihint]#Cluster Owner# role:
818-
819-
[{image-border}]
820-
image::rancher_roles_clone.png[]
821-
822-
Remove the [.guihint]#Create,# [.guihint]#Delete,# [.guihint]#Patch# and [.guihint]#Update# rights from the cloned role under [.guihint]#Grant Resources#:
823-
824-
[{image-border}]
825-
image::rancher_roles_clone_rights.png[]
826-
827-
Now create the new `checkmk` Rancher user under [.guihint]#Global > Users > Add User#.
828-
At [.guihint]#Global Permissions# select the option [.guihint]#User-Base# to grant the user only the most necessary read permissions:
829-
830-
[{image-border}]
831-
image::rancher_adduser.png[]
832-
833-
834-
=== Assigning a cluster role
835-
836-
Now switch to your cluster and click on [.guihint]#Edit# at the top right of the cluster menu.
837-
Here you can add the just created user [.guihint]#checkmk# with the corresponding role [.guihint]#checkmk# to the cluster via [.guihint]#Add Member#:
838-
839-
[{image-border}]
840-
image::rancher_addmember.png[]
841-
842-
843-
=== Further actions
844-
845-
Log in to Rancher with this new user, call up the cluster and click on [.guihint]#Kubeconfig File#.
846-
Here you will find the three specifications you need for monitoring in {CMK}:
847-
848-
* `clusters` > `cluster` > `server`: URL/path specification for the xref:rule[{CMK} rule].
849-
* `clusters` > `cluster` > `certificate-authority-data`: the base64-encoded certificate
850-
* `users` > `user` > `token`: Access password in the form of a bearer token
851-
852-
image::rancher_kubeconfig.png[]
853-
854-
You will still need to decode the certificate, on the command line for example with `base64 --decode` or with one of the many online services.
855-
856-
From here on, the setup in {CMK} corresponds to the procedure for pure Kubernetes use from the xref:setupincheckmk[Setting up the monitoring in {CMK}] section.
857-
////
8581008
8591009
[#remove]
8601010
== Removing monitoring components from a cluster

0 commit comments

Comments
 (0)