Tagged "K8S-Reihe"

Konfiguration der Basis Infrastruktur

Als ich mit meinen Experimenten begann, bot Hetzner nicht die Möglichkeit, private Netzwerke zu erzeugen. Jeder Hetzner-Server hat eine öffentliche IP-Adresse und steht damit im Internet. Somit stellte sich unmittelbar die Frage nach der Sicherheit. Das Thema spielt auf verschiedenen Ebenen eine Rolle. Um die Kommunikation zwischen Master und Nodes abzusichern, entschied ich mich, Wireguard zu verwenden. Um die Zahl der möglichen Angriffsvektoren zu minimieren, werden per Uncomplicated Firewall (UFW) alle nicht explizit benötigten Ports geschlossen werden.

Basis Infrastrukur erzeugen

Mit den vielen einleitenden Worten und Vorbemerkungen ist jetzt Schluss. Umgebung für die Clustererzeugung vorbereiten Im ersten Schritt legen wir ein Basisverzeichnis und darin das Verzeichnis repos an. Das Basisverzeichnis heißt bei mir clusterbase. Nachdem ich die Verzeichnisse angelegt habe, clone ich das Repository nettista-bootstrap Dann werden einige für das weitere Setup notwendige Abhängigkeiten installiert und schließlich die Tools Terraform, Helm und die Hetzner CLI heruntergeladen. Die Schritte im Einzelnen:

Überblick

Die Reihe der Blogposts und Scripte orientiert sich an einem geschichteten Aufbau von der niedrigen Abstraktion zur immer höheren Abstraktion. In der Abbildung sind die einzelnen Schichten und die zugehörigen Automatisierungswerkzeuge (Terraform, Ansible, Helm) abgebildet. Außerdem verwende ich gerne Bash-Scripte, um einzelne Schritte zusammenzufassen. Die Automatisierung Um im nächsten Blogpost sofort loslegen zu können, hier bereits vorab einige Informationen zur Organisation der Automatisierung. Die meisten Schritte sind mittels Terraform, Ansible und Helm sowie einigen Scripten automatisiert.

Einige Vorbemerkungen

Bevor es im nächsten Blogpost richtig los geht, hier noch einige Vorbemerkungen. nettista.net Die Domain und der Name nettista.net stammen aus einem alten Projekt und erfahren nun eine Wiederverwendung. Ich nutze den Name ein wenig so, wie Microsoft Contoso verwendet. Analog dazu ist es im Kontext des Blogs als der Name eines virtuellen Unternehmens zu verstehen, das plant eine Kubernetes-Plattform zur Verfügung zu stellen. Dabei ist eine Automatisierung zu entwickeln, um diese Plattform aufzusetzen.

Kubernetes ein Platform Toolkit!

Kelsey Hightower (Staff Developer Advocate, Google Cloud Platform) hat im November 2017 folgenden Tweet veröffentlicht: Kubernetes is a platform for building platforms. It's a better place to start; not the endgame. — Kelsey Hightower (@kelseyhightower) November 27, 2017 Tatsächlich ist es relativ einfach, ein Kubernetes-Cluster aufzusetzen. Aber reif für einen Produktionseinsatz ist ein solches Cluster noch lange nicht und funktional wird man ebenfalls schnell an Grenzen stoßen. Natürlich gibt es inzwischen viele Möglichkeiten unkompliziert ein Kubernetes-Cluster für Entwicklungszwecke oder Experimente zu nutzen.