Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Kubernetes mit K3s auf Ubuntu installieren

Möchten Sie Kubernetes auf Ubuntu installieren, ohne einen komplizierten Cluster von Grund auf konfigurieren zu müssen? K3s ist eine schlanke Kubernetes-Distribution, die den Vorgang vereinfacht und damit eine praktische Wahl für Entwickler ist, die Kubernetes auf einem VPS kennenlernen möchten.

In dieser Anleitung erfahren Sie, wie Sie Kubernetes mit K3s auf Ubuntu 24.04 installieren, einen Single-Node-Cluster erstellen, eine Nginx-Anwendung bereitstellen und prüfen, ob alles funktioniert.

Sie müssen weder Docker installieren noch eine separate Container-Laufzeitumgebung konfigurieren.

Was ist K3s und warum sollten Sie es verwenden?

K3s ist eine schlanke, CNCF-zertifizierte Kubernetes-Distribution, die die Installation und den Betrieb von Kubernetes vereinfacht.

Sie bündelt wesentliche Komponenten, darunter eine Container-Laufzeitumgebung und die Cluster-Netzwerkfunktionen, in einer vereinfachten Installation.

Anders als bei einer herkömmlichen Kubernetes-Installation mit kubeadm übernimmt K3s einen Großteil der Erstkonfiguration automatisch.

Eine K3s-Installation auf einem einzelnen Node ist ein funktionsfähiger Kubernetes-Cluster und eignet sich damit für Entwicklung, Tests und zum Lernen.

Wenn Sie mit Kubernetes-Konzepten wie Pods und Deployments noch nicht vertraut sind, lesen Sie zuerst unseren Leitfaden Was ist Kubernetes?.

Kubernetes mit K3s auf Ubuntu installieren

Voraussetzungen

Bevor Sie beginnen, benötigen Sie:

  • Einen Server mit Ubuntu 24.04 LTS.
  • SSH-Zugriff mit sudo-Berechtigungen.
  • Mindestens 2 CPU-Kerne und 2 GB RAM.
  • Vorzugsweise 4 GB RAM oder mehr für eine angenehme Lernumgebung.
  • Ausreichend SSD-Speicherplatz und Internetzugang zum Herunterladen von Container-Images.

K3s nennt offiziell 2 CPU-Kerne und 2 GB RAM als Mindestanforderungen für einen Server-Node. Die Anforderungen der tatsächlichen Workloads können höher sein.

Benötigen Sie einen Ubuntu-VPS für Kubernetes?
Stellen Sie K3s mit Root-Zugriff und flexiblen Serverressourcen bereit.
Ubuntu-VPS entdecken →

Sicherheitshinweis: Stellen Sie sicher, dass SSH erreichbar bleibt, und beschränken Sie den Zugriff auf die Kubernetes-API an Port 6443. Für diese Anleitung müssen Sie den Port nicht öffentlich öffnen. Wenn Sie UFW oder eine andere Firewall verwenden, prüfen Sie vor der Installation die offiziellen Netzwerkanforderungen von K3s.

Schritt 1: Ihren Ubuntu-Server aktualisieren

Verbinden Sie sich über SSH mit Ihrem Ubuntu-Server und aktualisieren Sie die Paketinformationen:

sudo apt update
sudo apt upgrade -y

Prüfen Sie die Ubuntu-Version:

lsb_release -a

Ubuntu 24.04 LTS sollte angezeigt werden.

Starten Sie den Server neu, falls Systemupdates dies erfordern, und verbinden Sie sich anschließend erneut über SSH.

K3s installiert seine eigene Container-Laufzeitumgebung. Docker Engine ist daher nicht erforderlich.

Schritt 2: Kubernetes mit K3s auf Ubuntu installieren

K3s stellt ein offizielles Installationsskript bereit.

Der Standardbefehl für die Installation lautet:

curl -sfL https://get.k3s.io | sh -

Damit wird das K3s-Installationsprogramm heruntergeladen und ausgeführt. Lesen Sie vor der Ausführung die offizielle Installationsanleitung und prüfen Sie das Installationsprogramm, insbesondere auf einem Produktionsserver.

Bei der Installation wird K3s als systemd-Dienst eingerichtet. Außerdem werden Verwaltungswerkzeuge für Kubernetes installiert.

Prüfen Sie nach Abschluss des Vorgangs den Dienst:

sudo systemctl status k3s

Achten Sie auf:

Active: active (running)

Drücken Sie q, um die Statusanzeige zu verlassen.

Wenn der Dienst läuft, wurde Ihre Kubernetes-Installation erfolgreich gestartet.

Schritt 3: Ihren Kubernetes-Cluster überprüfen

K3s enthält das Kommandozeilenwerkzeug kubectl zur Verwaltung von Kubernetes-Ressourcen.

Führen Sie Folgendes aus:

sudo k3s kubectl get nodes

Nach der Initialisierung des Clusters sehen Sie eine Ausgabe ähnlich der folgenden:

NAME        STATUS   ROLES                  AGE   VERSION
ubuntu-vps  Ready    control-plane,master   2m    v1.xx.x+k3s1

Ihr Hostname und Ihre Kubernetes-Version werden abweichen.

Entscheidend ist der Wert Ready. Er zeigt an, dass Kubernetes den Node als bereit für Workloads betrachtet.

Prüfen Sie als Nächstes die System-Pods:

sudo k3s kubectl get pods -A

Damit werden Pods aus allen Namespaces aufgeführt, einschließlich der Kubernetes-Systemdienste.

Die Initialisierung einiger Komponenten kann etwas dauern. Prüfen Sie sie erneut, falls sie noch starten.

Nachdem Sie Kubernetes mit K3s auf Ubuntu installiert haben, kann Ihr Cluster containerisierte Anwendungen ausführen. Stellen wir Nginx bereit, um zu prüfen, ob alles funktioniert.

Schritt 4: Ihre erste Anwendung bereitstellen

Da der Cluster nun läuft, stellen wir einen einfachen Nginx-Webserver bereit.

Erstellen Sie ein Deployment:

sudo k3s kubectl create deployment demo-nginx --image=nginx:stable

Kubernetes erstellt ein Deployment, das einen Nginx-Container verwaltet.

Prüfen Sie den Fortschritt:

sudo k3s kubectl get deployments

Warten Sie, bis für das Deployment eine verfügbare Replik angezeigt wird.

Sie können auch den zugehörigen Pod prüfen:

sudo k3s kubectl get pods

Der Pod sollte schließlich den Status Running anzeigen und sein Container bereit sein.

Wenn ContainerCreating angezeigt wird, wird das Container-Image möglicherweise noch heruntergeladen.

Schritt 5: Einen Kubernetes-Service erstellen

Ein Kubernetes-Service stellt einen stabilen Netzwerkendpunkt für den Zugriff auf eine Anwendung bereit, selbst wenn ihre Pods ersetzt werden.

Machen Sie das Nginx-Deployment innerhalb des Clusters zugänglich:

sudo k3s kubectl expose deployment demo-nginx --type=ClusterIP --port=80

Prüfen Sie den Service:

sudo k3s kubectl get services

Sie sollten einen Service namens demo-nginx mit einer ClusterIP-Adresse und Port 80 sehen.

Der Typ ClusterIP macht die Anwendung innerhalb des Kubernetes-Clusters erreichbar. Nginx wird dadurch nicht direkt im öffentlichen Internet zugänglich.

Schritt 6: Ihre Nginx-Anwendung testen

Wir verwenden Kubernetes-Portweiterleitung, um die Anwendung ohne Konfiguration eines öffentlichen Load Balancers zu testen.

Führen Sie Folgendes aus:

sudo k3s kubectl port-forward service/demo-nginx 8080:80

Lassen Sie diese SSH-Sitzung geöffnet.

Der Befehl leitet Port 8080 der Loopback-Schnittstelle des Servers an Port 80 des Nginx-Service weiter.

Öffnen Sie eine zweite SSH-Verbindung zum selben Server und führen Sie Folgendes aus:

curl http://127.0.0.1:8080

Sie sollten HTML mit der standardmäßigen Nginx-Willkommensseite erhalten.

Geschafft! Sie haben Kubernetes mit K3s auf Ubuntu installiert, eine containerisierte Anwendung bereitgestellt und über einen Kubernetes-Service darauf zugegriffen.

Drücken Sie in der ersten Sitzung Ctrl+C, um die Portweiterleitung zu beenden.

Dieser Test überprüft nur den lokalen Zugriff. Um eine Anwendung öffentlich zugänglich zu machen, sind zusätzliche Konfigurationen für Netzwerk, DNS, TLS und Sicherheit erforderlich.

Häufige Probleme bei der K3s-Installation

Der K3s-Dienst startet nicht

Prüfen Sie die Dienstprotokolle:

sudo journalctl -u k3s -n 50

Achten Sie auf Berechtigungsprobleme, Netzwerkprobleme oder ausgefallene Komponenten.

Der Kubernetes-Node zeigt NotReady an

Prüfen Sie die Node-Details:

sudo k3s kubectl describe node

Untersuchen Sie die gemeldeten Zustände, die Auslastung der Systemressourcen und die Netzwerkverbindungen.

Der Nginx-Pod läuft nicht

Prüfen Sie den Pod:

sudo k3s kubectl get pods

Sehen Sie sich anschließend die Ereignisse des Deployments an:

sudo k3s kubectl describe deployment demo-nginx

Fehlgeschlagene Image-Downloads, unzureichende Ressourcen oder Probleme mit dem Cluster-Netzwerk können den Start von Pods verhindern.

Die Portweiterleitung funktioniert nicht

Stellen Sie sicher, dass der Nginx-Pod bereit ist und der Service existiert.

Beachten Sie, dass der Portweiterleitungsbefehl weiterlaufen muss, während Sie die Anwendung über die zweite SSH-Sitzung testen.

Benötigen Sie Docker, um K3s auszuführen?

Nein. K3s enthält containerd, eine Container-Laufzeitumgebung zur Ausführung von Kubernetes-Workloads.

Sie können kompatible Container-Images bereitstellen, darunter auch mit Docker erstellte Images, ohne Docker Engine auf dem K3s-Server zu installieren.

Wie geht es weiter?

Ihr Single-Node-Cluster eignet sich zum Experimentieren mit Kubernetes-Konzepten, ist aber nicht automatisch eine produktionsreife, hochverfügbare Umgebung.

Bevor Sie geschäftskritische Anwendungen bereitstellen, sollten Sie Folgendes planen:

  • Zugriffskontrolle für den Cluster und Sicherheitsupdates.
  • Persistenten Speicher und Backup-Verfahren.
  • Monitoring und Ressourcenlimits.
  • Eine sichere Bereitstellung der Anwendung über HTTPS.
  • Die Wiederherstellung nach einem Node- oder Serverausfall.

Denken Sie daran, dass ein Single-Node-Cluster weiterhin von einer einzigen physischen oder virtuellen Maschine abhängt. Kubernetes kann diesen einzelnen Ausfallpunkt nicht beseitigen.

Häufig gestellte Fragen

Ist K3s dasselbe wie Kubernetes?

K3s ist eine zertifizierte Kubernetes-Distribution. Sie bietet Kubernetes-Funktionen, vereinfacht aber die Installation und reduziert den Verwaltungsaufwand.

Kann ich Kubernetes auf einem VPS installieren?

Ja. Sie können K3s auf einem Linux-VPS mit ausreichend CPU-Leistung, RAM, Speicherplatz und administrativem Zugriff ausführen.

Eignet sich K3s für den Produktivbetrieb?

K3s kann im Produktivbetrieb eingesetzt werden. Die Zuverlässigkeit hängt jedoch von der Cluster-Architektur, der Kapazität, dem Netzwerk sowie der Sicherheits- und Backup-Konfiguration ab.

Kann ich K3s später deinstallieren?

Ja. K3s stellt ein Deinstallationsskript bereit. Bei der Deinstallation können jedoch Cluster-Ressourcen und lokale Workload-Daten gelöscht werden. Sichern Sie wichtige Daten, bevor Sie K3s deinstallieren.

Fazit

Sie wissen nun, wie Sie Kubernetes auf Ubuntu installieren, indem Sie K3s verwenden, Ihren Single-Node-Cluster überprüfen und eine Nginx-Anwendung bereitstellen.

Mit K3s haben Sie eine funktionsfähige Single-Node-Kubernetes-Umgebung erstellt, Nginx bereitgestellt, die Anwendung über einen Service zugänglich gemacht und sie mithilfe der Portweiterleitung überprüft.

Mit wachsender Erfahrung können Sie sich nun näher mit Deployments, Skalierung, Konfiguration und Cluster-Verwaltung befassen.

Table of Content

Ein Nginx-Reverse-Proxy empfängt Anfragen von Website-Besuchern und leitet sie an einen anderen Server oder eine

Ein 502-Bad-Gateway-Fehler in Nginx bedeutet in der Regel, dass Nginx keine gültige Antwort von einem

Ein 504-Gateway-Timeout-Fehler tritt auf, wenn ein Server, der als Gateway oder Proxy fungiert, nicht rechtzeitig

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Nach oben scrollen