# Kubernetes Cluster

Unter Kubernetes Cluster legst du Cluster in AWS, Azure, Google Cloud oder der Open Telekom Cloud an oder importierst eine bestehende kubeconfig. Anwendungen können darauf als Workloads laufen.

> Source: https://www.mainpath.ai/de/docs/kubernetes-integration/

Kubernetes verteilt Container auf mehrere Rechner und startet sie nach einem Ausfall neu; ein solcher Verbund heißt Cluster. Unter **Kubernetes Cluster** (in der linken Navigation direkt unter **Server**) verwaltest du Cluster einmal für die ganze Organisation. Unter **Hosting** im Projekt wählst du danach neben Docker-Servern und Webspaces auch ein Cluster aus.

Die Zugangsdaten der Cloud-Konten liegen nicht hier, sondern unter [Cloud-Accounts]({{< relref "cloud-accounts" >}}). Oben rechts auf der Cluster-Seite führt **Zugangsdaten verwalten** dorthin.

## Cluster erstellen

MainPath legt im gewählten Cloud-Konto ein verwaltetes Cluster an, inklusive Netzwerk, Nodes und optionaler Datenbanken.

1. Lege zuerst unter **Cloud-Accounts** Zugangsdaten für AWS, Azure, Google Cloud oder Open Telekom Cloud an. Die Schritte zum Erzeugen der Schlüssel stehen unter [AWS]({{< relref "aws-cloud-credentials" >}}), [Azure]({{< relref "azure-cloud-credentials" >}}), [Google Cloud]({{< relref "gcp-cloud-credentials" >}}) und [Open Telekom Cloud]({{< relref "otc-cloud-credentials" >}}).
2. Öffne **Kubernetes Cluster** und klicke auf **Cluster erstellen**.
3. Wähle den Cloud-Anbieter, das Cloud-Konto, Name, Region, Kubernetes-Version, Node-Größe und Anzahl der Nodes.

MainPath erzeugt das Cluster in deinem Konto. Danach erscheint es in der Cluster-Liste und unter dem Cloud-Account als Ressource.

## Cluster importieren

Hast du bereits ein Cluster außerhalb von MainPath, importierst du die Zugangsdatei (`kubeconfig`), mit der sich auch `kubectl` anmeldet.

1. Öffne **Kubernetes Cluster** und klicke auf **Cluster importieren**.
2. Füge die kubeconfig ein und speichere.

MainPath prüft die Datei und speichert sie verschlüsselt. Importierte Cluster können Anwendungen hosten, aber **keine verwaltete Cloud-Datenbank** anlegen. Dafür brauchst du ein MainPath erstelltes Cluster oder einen klassischen Docker-Server.

## Hosting und Datenbank

Im Projekt-Composer unter **Hosting** wählst du **Kubernetes Cluster**, **Docker-Server** oder (nur bei reinen Homepages) **Webspace**. Produktion, Entwicklung und dynamische Umgebungen teilen sich dasselbe Cluster, analog zum Webspace.

Eine relationale Datenbank am Backend schaltest du erst ein, wenn Hosting auf einem klassischen Server oder einem in einem Cloud-Account erstellten Cluster liegt. Dann wählst du je nach Anbieter Engine, Instanzgröße und Speicher. Ohne diese Hosting-Wahl zeigt MainPath einen Hinweis statt die Datenbank zu aktivieren.

