Tanzu K8s mit Runecast überwachen

Die Konformität eines Clusters in Bezug auf Sicherheit oder versteckte Probleme zu überprüfen gehört inzwischen zum Standard. Hierfür gibt es automatisierte Hilfsmittel wie zum Beispiel VMware Skyline oder Runecast Analyzer. Letzterer kann neben klassischen vSphere Clustern auch vSAN, NSX-T, AWS, Kubernetes und seit Version 5.0 auch Azure auf Konfomität prüfen.

Ich möchte in diesem Beitrag die Anbindung einer vSphere with Tanzu [*] Umgebung an Runcast Analyzer beschreiben. [* native Kubernetes Pods und TKG auf vSphere]

Einige Schritte sind vereinfacht, da es sich um eine Lab Infrastruktur handelt. Ich werde zu gegebenem Zeitpunkt darauf hinweisen.

Bevor wir Tanzu in Runecast registrieren können, benötigen wir ein paar Informationen.

  • IP Adresse oder FQDN der SupervisorControlPlane
  • Dienstkonto mit Zugriff auf die SupervisorControlPlane
  • Token des Dienstkontos

IP Adresse der Supervisor Control Plane

Die IP Adresse ist recht einfach zu ermitteln. Beim Rollout des Workload Managements werden 5 aufeinanderfolgende IP Adressen angefragt. Die erste ist die sogenannte Virtual-IP (VIP), mit der der ControlPlane Cluster angesprochen wird. Die drei folgenden Adressen werden an die drei ControlPlane Appliances vergeben und die fünfte Adresse wird für rollende Upgrades reserviert. Man sieht die VIP im vSphere-Client in den Eigenschaften der SupervisorControlPlane VM. Eine der drei VMs hat zwei IP Adressen im Managment Netz. Im Bild unten sieht man die IP der Appliance (10.0.10.201) und die VIP (10.0.10.200).

Servicekonto ermitteln

Hier muss man kurz nachdenken. 🙂

Ich verwende im Tanzu Lab zwei lokale Konten: Administrator und devops. Devops ist mein Dienstkonto für alle Namespaces. Beide haben Lese- und Schreibzugriff auf alle Namespaces, was am unten dargestellten Namespace mlx-k9s-ns1 zu sehen ist. Jedoch nur Administrator hat Zugriff auf die SupervisorControlPlane! Wir möchten keinen Namespace überwachen, sondern den gesamtenTanzu Cluster. Diese Berechtigung hat nur administrator@vsphere.local. In Produktivumgebungen würde man auch hierfür ein diskretes Dienstkonto verwenden, aber dies ist ein Lab.

Service Account Token ermitteln

Wir haben die IP Adresse und das Servicekonto mit Vollzugrif auf den Tanzu Cluster. Jetzt fehlt noch das Zugriffs-Token für das Servicekonto. In meinem Fall ist das administrator@vsphere.local.

Dazu öffnen wir die Shell unserer Wahl mit der wir auch sonst kubectl Kommandos absetzen und melden uns an der ControlPlane an. Wichtig ist jetzt, nicht den Standard Login ‚devops‘, sondern administrator zu verwenden.

kubectl vsphere login --vsphere-username administrator@vsphere.local --server=https://10.0.10.200 --insecure-skip-tls-verify

Logged in successfully.
 You have access to the following contexts:
    10.0.10.200
    mlx-k8s-ns1

Der Benutzer administrator hat Zugriff auf einen Workspaces (mlx-k8s-ns1) und die ControlPlane (10.0.10.200).

kubectl config view

Auch hier muss man wider genau hinsehen. Wir benötigen das Token, welches unterhalb von wcp: <Controlplane>:<Kontoname> (roter Kasten) steht. Weiter unten steht das Token für den Zugriff auf den Namespace, welches uns aber nicht interessiert. Wir markieren und kopieren das Token in die Zwischenablage und wechseln zu Runecast Analyzer.

K8s Control-Plane in Runecast einbinden

In der Runecast GUI wählen wir rechts oben Settings > Connections > Add Kubernetes.

Wir benötigen nur die IP Adresse unserer SupervisorControlPlane und das Token des Servicekontos. Der API Port 6443 ist Standard und kann in der Regel übernommen werden.

In das Textfeld SA token kopieren wir das Token aus der Zwischenablage und klicken auf [Continue].

Wir bestätigen die Eingabe und können künftig auch den Tanzu Cluster auf Konformität und Empfehlungen überwachen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.