nw  

Ready-to-Use Kubernetes on Hyperscaler

Zusammenfassung

Mithilfe einer Script Sammlung soll das erstellen und erweitern (Monitoring, Logging, Demo Services) von Kubernetes Clustern auf den Cloudprovidern AWS und Azure vereinfacht werden.


Das erstellen und konfigurieren von Cloud Ressourcen via Source Code wird auch Infrastructure-as-Code (IAC) genannt. Dies ermöglicht es, Infrastruktur ohne manuelle Klicks in einem Web-UI oder manuelles ausführen von Codes auf der Commandline zu provisionieren. Durch IAC können Infrastrukturen schnell, identisch und automatisiert erstellt werden.


Das erstellen der Cluster wird mit dem IAC Tool Terraform durchgeführt. Das erweitern mit den Tools Helm und ArgoCD

Schlüsselbegriffe

Cloud, Hyperscaler, Kubernetes, Azure, Azure AKS, AWS, AWS EKS, IAC, Terraform,Helm, ArgoCD

Zielsetzung

Das Ziel der Arbeit ist das erstellen einer Script Sammlung für das erstellen und erweitern der Cluster. Unterschiede zwischen den Cloudprovidern sollen identifiziert, abstrahiert und dokumentiert werden.


Die Script Sammlung soll mit Terraform auf den Public Cloud Providern Azure und AWS Kubernetes Ressourcen erstellen und anschliessend mit Helm und ArgoCD erweitern. Zum erweitern gehört das hinzufügen von Monitoring und Logging Services.

Ausgangslage

Kubernetes ist die beliebteste Plattform für das betreiben von Containern. Die grossen Hyperscaler bieten ihre eigenen Kubernetes Services an.

Diese Services basieren auf derselben Kubernetes Basis aber bieten unterschieliche Funktionen / APIs an.


Das erstellen eines Clusters kann auf verschiedene Arten gemacht werden. Die Cluster können im Web Interface des Providers zusammengecklickt werden, via der Provider spezifischen CLI oder mit IAC Tools wie Terraform.

Ergebnisse

Das erstellen von Clustern mit Terraform unterscheidet sich zwischen Azure und AWS deutlich. Bei Azure kann mit wenigen Zeilen Terraform Code ein vollständiger Kubernetes Cluster erstellt werden. Bei AWS hingegen müssen einzelne Komponenten wie IAM Ressourcen, OIDC Provider oder das EBS Storage Addon zusätzlich manuell via Terraform erstellt werden.


Es gibt 3 Scripts für das erstellen der Cluster:

Ein Script für den AKS Cluster, ein Script für den EKS Cluster und ein Script, bei dem die vorherigen zwei Scripts als Module eingebunden werden und so sowohl mehrere AKS als auch EKS Cluster erstellt werden können.


Für das erweitern der Cluster gibt es ein Python Script, welches via Helm auf jeden Cluster ArgoCD installiert und eine ArgoCD Applikation erstellt, welche die Erweiterungen wie Logging und Monitoring erhalten.

Projektdaten
Projekt-Typ: IP6
Projekt-Start: September 2022
Projekt-Ende: April 2023
Aufwand: Total: 720h, Pro Person: 360h
Team Grösse: 2
Auftraggeber

Fachhochschule Nordwestschweiz FHNW

Sebastian Graf

Bahnhofstrasse 6

5210 Windisch

Projektteam
Kontakt

Sebastian Graf, sebastian.graf@fhnw.ch

<< zurück