Einführung

Kubernetes ist eine führende Open-Source-Plattform zur Container-Orchestrierung. Sie ermöglicht die Automatisierung, Skalierung und Verwaltung von Container-Anwendungen. In diesem Tutorial zeigen wir Ihnen, wie Sie Kubernetes auf einem Ubuntu Server einrichten.


Voraussetzungen

  • Ein Ubuntu-Server (20.04 oder neuer).
  • Mindestens 2 CPUs, 2 GB RAM und 10 GB freier Speicherplatz.
  • Root-Zugriff oder ein Benutzer mit sudo-Rechten.
  • Grundlegendes Wissen über Container und Docker.

Schritt 1: System vorbereiten

1.1 System aktualisieren

Führen Sie ein Update und Upgrade des Systems durch:

sudo apt update && sudo apt upgrade -y

1.2 Swap deaktivieren

Kubernetes erfordert, dass der Swap-Speicher deaktiviert ist. Deaktivieren Sie Swap temporär:

sudo swapoff -a

Um Swap dauerhaft zu deaktivieren, kommentieren Sie die Swap-Zeile in /etc/fstab aus:

sudo nano /etc/fstab

Speichern Sie die Datei und starten Sie das System neu, falls nötig.

1.3 Hostnamen konfigurieren

Setzen Sie einen eindeutigen Hostnamen für Ihren Knoten:

sudo hostnamectl set-hostname <knoten-name>

Ersetzen Sie <knoten-name> durch einen passenden Namen, z. B. k8s-master.


Schritt 2: Docker installieren

Kubernetes benötigt Docker als Container-Laufzeitumgebung.

2.1 Docker installieren

Installieren Sie Docker mit den folgenden Befehlen:

sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

2.2 Docker-Nutzung durch Kubernetes konfigurieren

Erstellen Sie die Datei /etc/docker/daemon.json und fügen Sie folgende Konfiguration hinzu:

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

Starten Sie Docker neu:

sudo systemctl restart docker

Schritt 3: Kubernetes installieren

3.1 Kubernetes-Pakete hinzufügen

Fügen Sie das Kubernetes-Repository hinzu:

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

3.2 Kubernetes-Komponenten installieren

Installieren Sie kubeadm, kubectl und kubelet:

sudo apt update
sudo apt install -y kubeadm kubelet kubectl
sudo apt-mark hold kubeadm kubelet kubectl

Schritt 4: Kubernetes-Cluster initialisieren

4.1 Master-Knoten initialisieren

Führen Sie auf dem Master-Knoten den folgenden Befehl aus:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

Notieren Sie sich den angezeigten Token und den join-Befehl für Worker-Knoten.

4.2 Kubernetes für den aktuellen Benutzer konfigurieren

Erstellen Sie die Konfigurationsdatei für kubectl:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Schritt 5: Netzwerk-Plugin installieren

Installieren Sie ein Netzwerk-Plugin wie Calico, um die Kommunikation zwischen Pods zu ermöglichen:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

Schritt 6: Worker-Knoten zum Cluster hinzufügen

Auf jedem Worker-Knoten führen Sie den von kubeadm init bereitgestellten join-Befehl aus. Beispiel:

sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Schritt 7: Cluster-Status überprüfen

Überprüfen Sie den Status des Clusters:

kubectl get nodes

Alle Knoten sollten den Status Ready anzeigen.


Fazit

Mit Kubernetes können Sie Container effizient orchestrieren und verwalten. Dieses Tutorial hat die Grundinstallation abgedeckt. Für weiterführende Themen wie Deployments, Services und Monitoring können Sie Kubernetes-Dokumentationen und Erweiterungen wie Helm oder Prometheus nutzen.