Tutorials  /  Container & Cloud

Linkerd auf Kubernetes installieren und konfigurieren

Ccentron Redaktion · November 2025 ·6 Min. Lesezeit ·Container & Cloud, Tutorial

Linkerd ist ein leichtgewichtiges, quelloffenes Service Mesh für Kubernetes, das Funktionen wie Beobachtbarkeit, Sicherheit und effizientes Traffic-Management bietet. Es nutzt ein Sidecar-Proxy-Modell, bei dem kleine Proxys die Kommunikation zwischen den Pods übernehmen, während eine zentrale Steuerungsebene (Control Plane) die Konfiguration und das Routing verwaltet.

Diese Schritt-für-Schritt-Anleitung zeigt, wie du Linkerd auf einem Kubernetes Cluster installierst. Außerdem wird erklärt, wie du eine Beispielanwendung bereitstellst, Ingress für externen Zugriff einrichtest und Funktionen für das Traffic-Management aktivierst.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du folgende Anforderungen erfüllst:

  • Einen aktiven Kubernetes Cluster.
  • Eine Domain mit einem A-Record, der auf die Load-Balancer-IP deines Clusters zeigt (z. B. linkerd.example.com).
  • Zugriff auf einen Ubuntu-basierten Server oder eine lokale Workstation zur Verwaltung deines Clusters und zur Verwendung der Linkerd-CLI.
  • Kubectl installiert und so konfiguriert, dass es mit deinem Kubernetes-Cluster kommuniziert.
  • Helm auf deiner Workstation installiert.
K8

Passende Infrastruktur bei centron

Vom Container zum Cluster: Managed Kubernetes mit cStack gibt es ab 29,99 € im Monat – Control Plane, AutoScaler und Traffic inklusive. Managed Kubernetes ansehen →

Linkerd-CLI installieren

Installiere die Linkerd-Kommandozeilenschnittstelle (CLI) auf deiner Workstation, um dein Service Mesh zu verwalten.

Systempakete aktualisieren

Konsole
$ sudo apt update

Linkerd-CLI herunterladen und installieren

Konsole
$ curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh

Linkerd zum PATH hinzufügen

Konsole
$ export PATH=$PATH:$HOME/.linkerd2/bin

PATH-Änderung dauerhaft speichern

Konsole
$ echo 'export PATH=$PATH:$HOME/.linkerd2/bin' >> ~/.bashrc
$ source ~/.bashrc

CLI-Installation überprüfen

Konsole
$ linkerd version --client

Beispielausgabe:

Client version: edge-25.10.3

Die Serverversion ist derzeit nicht verfügbar, da die Control Plane noch nicht installiert wurde.

Kubernetes-Cluster validieren

Überprüfe vor der Installation, ob dein Kubernetes-Cluster die Anforderungen von Linkerd erfüllt.

Vorab-Überprüfung durchführen

Konsole
$ linkerd check --pre

Alle Tests sollten mit der Meldung Status check results are √ abgeschlossen werden. Behebe eventuelle Fehler, bevor du fortfährst.

Linkerd-Control-Plane installieren

Installiere die Kernkomponenten von Linkerd, die den Service-Mesh-Traffic und die Sicherheit im Cluster verwalten.

Gateway API CRDs installieren

Konsole
$ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml

Linkerd-CRDs installieren

Konsole
$ linkerd install --crds | kubectl apply -f -

Control Plane installieren

Konsole
$ linkerd install | kubectl apply -f -

Installation überprüfen

Konsole
$ linkerd check

Control-Plane-Pods prüfen

Konsole
$ kubectl get pods -n linkerd

Beispielausgabe:

NAME                                     READY   STATUS    RESTARTS   AGE
linkerd-destination-7b4657cfd8-btqdv     4/4     Running   0          4m40s
linkerd-identity-5584896d84-6pmdm        2/2     Running   0          4m40s
linkerd-proxy-injector-995fcbf47-dv6qr   2/2     Running   0          4m40s

Linkerd-Viz-Erweiterung installieren

Die Viz-Erweiterung fügt Beobachtungsfunktionen hinzu und stellt ein webbasiertes Dashboard zur Überwachung deiner Linkerd-Umgebung bereit.

Viz-Erweiterung installieren

Konsole
$ linkerd viz install | kubectl apply -f -

Viz-Installation überprüfen

Konsole
$ linkerd viz check

Linkerd-Dashboard bereitstellen

Du kannst das Linkerd-Dashboard sicher über Kubernetes Ingress mit TLS-Verschlüsselung bereitstellen, um einen geschützten Zugriff über den Browser zu ermöglichen.

Nginx Ingress Controller installieren

Installiere den Nginx Ingress Controller, um eingehenden Datenverkehr zu verarbeiten.

Nginx Ingress Helm-Repository hinzufügen

Konsole
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

Helm aktualisieren

Konsole
$ helm repo update

Nginx Ingress Controller installieren

Konsole
$ helm install ingress-nginx ingress-nginx/ingress-nginx \
    --create-namespace --namespace ingress-nginx

Warten, bis der LoadBalancer eine externe IP erhält

Konsole
$ kubectl get service -n ingress-nginx ingress-nginx-controller

Beispielausgabe:

NAME                       TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)                      AGE
ingress-nginx-controller   LoadBalancer   10.99.177.190   192.0.20.11       80:31460/TCP,443:32364/TCP   3m51s

Notiere den Wert der EXTERNAL-IP. Weise den A-Record deiner Domain dieser IP zu, um den externen Zugriff zu aktivieren.

Nginx Ingress Controller-Pods überprüfen

Konsole
$ kubectl get pods -n ingress-nginx

Auf das Dashboard zugreifen

Greife über deinen Browser auf das gesicherte Linkerd-Dashboard zu, indem du die konfigurierte Domain aufrufst.

https://linkerd.example.com

Melde dich mit dem zuvor erstellten Benutzernamen und Passwort an. Erkunde das Dashboard, um Cluster-Metriken, die Service-Mesh-Topologie und den Datenverkehrsfluss zu überwachen.

Bereitstellung einer Beispielanwendung

Stelle die Emojivoto-Anwendung bereit, um die Funktionen von Linkerd zu testen und die Integration in das Service Mesh zu überprüfen.

Emojivoto-Anwendung bereitstellen

Konsole
$ curl -sL https://run.linkerd.io/emojivoto.yml | kubectl apply -f -

Bereitstellung überprüfen

Konsole
$ kubectl get pods -n emojivoto

Anwendung in das Mesh integrieren

Konsole
$ kubectl get -n emojivoto deploy -o yaml | linkerd inject - | kubectl apply -f -

Meshed-Anwendung anzeigen

Konsole
$ linkerd viz -n emojivoto stat deploy

Traffic-Splitting konfigurieren

Implementiere Canary-Deployments, indem du eine HTTPRoute verwendest, um den Datenverkehr zwischen verschiedenen Anwendungsversionen aufzuteilen.

Zweite Version der Web-Bereitstellung erstellen

Konsole
$ kubectl get deploy web -n emojivoto -o yaml | \
    sed 's/name: web/name: web-v2/' | \
    kubectl apply -f -

Service für die neue Version erstellen

Konsole
$ cat <
$ cat <

Neue Bereitstellung zum Mesh hinzufügen

Konsole
$ kubectl get deploy web-v2 -n emojivoto -o yaml | \
    linkerd inject - | \
    kubectl apply -f -

Manifest für Traffic-Splitting erstellen

Konsole
$ nano traffic-split.yaml

Füge die folgende Konfiguration ein:

YAML
apiVersion: policy.linkerd.io/v1beta2
kind: HTTPRoute
metadata:
  name: web-route
  namespace: emojivoto
spec:
  parentRefs:
    - name: web-svc
      kind: Service
      group: core
      port: 80
  rules:
    - backendRefs:
        - name: web-svc
          port: 80
          weight: 80
        - name: web-v2
          port: 80
          weight: 20

Manifest anwenden

Konsole
$ kubectl apply -f traffic-split.yaml

Datenverkehrsverteilung überprüfen

Konsole
$ linkerd viz -n emojivoto stat --from deploy/vote-bot deploy

Fazit

Du hast erfolgreich Linkerd auf einem Kubernetes Cluster installiert, das Dashboard sicher über Nginx Ingress mit TLS-Verschlüsselung und Authentifizierung bereitgestellt und eine Beispielanwendung mit Traffic-Splitting implementiert. Weitere Informationen zu erweiterten Funktionen findest du in der offiziellen Linkerd-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Container & Cloud
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren