Folgende Schritte müssen jedes mal im Projektordner ausgeführt werden, bevor am Projekt entwickelt werden kann.
vagrant up: Erstellt beim ersten mal die Virtuelle Maschine, auf der sich das Kubernetes Cluster befindet (kann länger daueren, bis 20 Minuten). Nach dem erstmaligen Starten kann es sein, dass noch nicht alle Dienste verfügbar sind. Nach ein wenig warten (~5 Minuten) sollten sie aber spätestens vorhanden sein. Nachdem die VM erstellt wurde fährt dieser Befehl sie nur noch hoch.vagrant ssh: Erstellt eine SSH-Sitzung, die sich zur VM verbindet, sodass Befehle in ihr ausgeführt werden können. Alle folgenden Befehle in dieser Anleitung werden in der VM ausgeführt.cd /vagrant: Hier sind alle Dateien aus dem Projektordner zu finden.cd src && forge deploy: Erstellt alle Projekte, in deren Ordner eineservice.yamlgefunden wurde und startet sie im Kubernetes Cluster. Jedes mal, wenn Änderungen an den Projektdateien im Kubernetes Cluster übernommen werden sollen, muss dieser Befehl erneut ausgeführt werden.- Jetzt kann auf dem Host-PC (sowie der VM) entwickelt werden.
Wenn die VM heruntergefahren werden soll müssen zunächst alle SSH-Sitzungen getrennt werden (exit in jeder Sitzung aufrufen). Danach kann die VM mithilfe von vagrant halt (auf Host-PC) heruntergefahren werden.
Dank dem eingebauten DNS Server von Kubernetes können alle im Cluster der VM laufende Container folgende Dienste erreichen:
- Hostname:
icinga-api - Port:
5665 - Passwort: Im Secret
icinga-apizu finden
- Hostname:
influxdb-influxdb - Port:
8086(api),8088(rpc) - Benutzername:
admin - Passwort: Im Secret
influxdb-influxdb-authzu finden
- Hostname:
mariadb - Port:
3306 - Benutzername:
maria - Passwort: Im Secret
mariadbzu finden
- Hostname:
rabbitmq - Port:
5672(amqp),15672(manager) - Passwort: Im Secret
rabbitmqzu finden
Alle gestarteten Dienste im Kubernetes Cluster auf der VM können über eine eigens eingerichtete Netzwerkbrücke vom Host-PC aus erreicht werden. Dazu muss der Host-PC zunächst wissen, wo der Adressbereich der Dienste (10.233.0.0/16) zu finden ist. Das kann folgendermaßen erreicht werden (auf dem Host-PC):
Linux:
sudo ip route add 10.233.0.0/16 via 10.10.0.2
Windows:
route add 10.233.0.0 mask 255.255.0.0 10.10.0.2
OSX:
sudo route -n add 10.233.0.0/16 10.10.0.2
Jetzt können die IPs der Dienste im Cluster direkt von dem Host-PC angesprochen werden. Für eine Möglichkeit, wie man die IP Adressen herausfindet, kann sich am Kubernetes Cheatsheet (unten) orientiert werden.
Auflistung aller im Standard-Namensraum des Cluster laufenden Programme (Pods):
kubectl get pods
Auflistung aller im Standard-Namensraum des Cluster laufenden Dienste (Permanenter Ort, an dem man das entsprechende Programm erreichen kann) und ihre IP Adressen:
kubectl get svc