In 10 Minuten zum Kubernetes-Cluster mit Scaleway

In 10 Minuten zum Kubernetes-Cluster mit Scaleway

Patrick Hock

29. Januar 2024

kubernetes

k8s

scaleway

cloud

devops

Bei einem Kunden suchten wir einen Cloud-Provider innerhalb der EU, der einen gemanagten Kubernetes-Cluster im Angebot hat und landeten letztendlich bei Scaleway

Scaleway ist ein 1999 gegründeter, französischer Hosting- und Public-Cloud-Anbieter, der nach eigenen Angaben Infrastruktur von mehr als 25.000 Unternehmen hostet.

In diesem Beitrag machen wir uns mit der Web-UI von Scaleway vertraut und erstellen innerhalb weniger Minuten einen Kubernetes-Cluster.

Scaleway Login

Scaleway bietet eine schlanke, übersichtliche “Konsole”. Damit ist - wie bei manch anderen Cloud-Anbietern - paradoxerweise die Web-UI gemeint.

Zunächst registrieren wir uns mit E-Mail und Passwort auf scaleway.com/register mit einem persönlichem Account. Weil die Ressourcen, die wir anlegen wollen, minimale Kosten (ca. 3 Cent) verursachen werden, müssen wir eine Kreditkarte als Zahlungsmittel hinterlegen.

 

Sobald wir auf der Konsole eingeloggt sind, sehen wir rechts oben den Namen unserer neu erstellten “Organization”. Dieser entspricht bei einem persönlichen Konto dem Namen des Kontoinhabers.

Mit Klick auf den Organisationsnamen öffnet sich ein Drop-Down-Menü, in welchem wir Organisations- und Profil-Einstellungen finden. Hier können wir beispielsweise den Namen der Organisation ändern, User und Berechtigungen (IAM) einrichten und Security-Einstellungen verwalten.

In der linken Menüleiste finden wir die Managed Services, die Scaleway anbietet, z.B. Instances (also VMs), Network Services und Datenbanken. Wir werden gleich den Kubernetes-Service benutzen, doch zunächst …

Safety first

Der erste Schritt nach der Registrierung bei einem Cloud-Anbieter sollte immer die Einrichtung der Multi-Faktor-Authentifizierung (MFA) sein, um den Zugriff durch Unbefugte weitestgehend abzusichern:

  1. Klicke auf die "Organization" und wähle im aufklappenden Menü Profile aus.
  2. Klicke dort auf Enable MFA und folge den Anweisungen.

Falls man später noch andere Benutzer hinzufügen möchte, sollte man die MFA für alle User der Organisation erzwingen:

  1. Klicke erneut auf die "Organization" und dann im aufklappenden Menü auf den Namen der Organisation.
  2. Öffne den Reiter Settings.
  3. Klicke auf Enforce MFA.

 

Wenn wir am Ende des Artikels alle erstellten Ressourcen wieder löschen, werden wir unsere Kosten im Cent-Bereich halten. Falls wir das Löschen allerdings vergessen, fallen minütlich laufende Kosten an. 

Als nächsten Schritt nach der Registrierung empfehle ich daher die Einrichtung eines Budget-Alarms:

  1. Klicke auf die “Organization” und im aufklappenden Menü auf Billing.
  2. Im Abschnitt Enable billing alerts können wir nun einen Alarm einrichten.

Im Screenshot links habe ich ein monatliches Budget von 5€ gesetzt und einen Alarm eingerichtet, der mich per SMS und E-Mail informiert, wenn 20% des Budgets überschritten werden.

Projekt und Cluster erstellen

Bevor wir die Managed Services nutzen, erstellen wir ein sogenanntes “Projekt”, also einen abgetrennten Space, in welchem wir Ressourcen anlegen und verwalten können. Wir könnten auch im "default"-Projekt arbeiten, aber durch die Verwendung eines separaten Projekts können wir dieses später löschen und dadurch sicher sein, dass wir alles aufgeräumt haben.

  1. Klicke auf das Drop-Down Organization dashboard.
  2. Klicke auf + Create Project.
  3. Wähle einen beliebigen Namen und bestätige.

Jetzt erstellen wir den Kubernetes-Cluster:

  1. Klicke in der linken Menüleiste unter Containers auf Kubernetes und dann auf + Create cluster .
  2. Wir lassen alle Punkte auf den Standard-Einstellungen, d.h.
    1. Cluster type: Kubernetes Kapsule
    2. Region: Paris
    3. Control plane offer: Free
    4. Kubernetes version: (aktuellste Version)
    5. Cluster name: (wird generiert)
  3. Klicke auf Configure a Private Network to continue und Attach to a new Private Network. Bestätige und erstelle dadurch ein neues privates Netzwerk.
  4. Klicke auf Configure Pool >. Jetzt werden die Worker-Nodes konfiguriert:
    1. Wir wählen den kleinstmöglichen und kostengünstigsten Node-Type aus. Das ist mit 2,7 Cent pro Stunde (Stand Dez. 2023) der Typ PLAY NANO
    2. Als Anzahl der Worker-Nodes wählen wir anstatt 3 nur 1 aus. Für Demo-Zwecke ist diese Skalierung ausreichend, auch wenn wir dadurch natürlich die HA-Fähigkeit verlieren. 
    3. Bei allen weiteren Punkten belassen wir die Standardeinstellungen.

 

Schauen wir nun auf die Kosten-Zusammenfassung:

Die Control-Plane ist umsonst. Zu den 2,7 Cent für unseren Worker-Node kommen nur noch minimale Kosten für 20 GB Block-Storage. Damit kostet uns der Cluster weniger als 3 Cent pro Stunde! 

Cluster Login

Nachdem wir die Erstellung des Clusters mit Klick auf Create Cluster bestätigt haben, wird durch Scaleway die Control Plane aufgesetzt, was ca. 1-2 Minuten dauert… 

 

Danach ist der Cluster erstellt, aber noch nicht ganz einsatzbereit. Zunächst skaliert der Node-Pool hoch, d.h. er erstellt und provisioniert den Worker-Node. Das dauert weitere 1-2 Minuten.

Sobald der Node bereit ist, können wir uns mit kubectl (siehe Anweisungen zum Download der kubeconfig) oder über das Kubernetes-Dashboard (durch Klick auf den entsprechenden Button, siehe Screenshot) auf dem Cluster einloggen.

Der Cluster ist nun bereit für die nächsten Schritte (z.B. Installation eines Ingress Controllers), auf die ich in diesem Artikel aber nicht weiter eingehen werden. Stattdessen räumen wir jetzt wieder auf …

Tabula Rasa

Wir haben gezeigt wie man den rudimentären k8s-Cluster erstellt. Um keine laufenden Kosten zu verursachen, löschen wir ihn als letzten Schritt wieder:

  1. Klicke auf Kubernetes und wähle den zuvor erstellten Cluster aus.
  2. Klicke ganz unten auf Delete cluster
  3. Setze das Häkchen bei Delete all volumes... und bestätigen den Löschvorgang.

Außerdem müssen wir noch das Private Network löschen, das wir beim Erstellen des Clusters angelegt haben: 

  1. Klicke auf VPC und wähle die Region aus, in welcher wir den Cluster erstellt hatten.
  2. Lösche das einzige existierende Private Network.

Zuletzt löschen wir das Projekt: 

  1. Klicke in der linken Menü-Leiste auf Project dashboard und wähle dort den Reiter Settings
  2. Klicke auf Delete Project. Wenn alle Ressourcen im Projekt gelöscht wurden, können wir den Löschvorgang bestätigen. Andernfalls zeigt Scaleway eine Fehlermeldung an.