Linuxguide

Skaffold – Schnelle Kubernetes-Entwicklung mit Hot Reload 2025

Inner Development Loop fuer Kubernetes ohne manuelle Build-Schritte

S
SeeColors IT
11. Juni 20264 Min. Lesezeit72 Aufrufe

Das Kubernetes-Entwicklungsproblem

Ohne Skaffold (manuelle Schritte):
  1. Code aendern
  2. docker build -t meine-app:dev .
  3. docker push meine-app:dev
  4. kubectl set image deployment/meine-app app=meine-app:dev
  5. kubectl logs -f deployment/meine-app
  → 2-5 Minuten Wartezeit pro Code-Aenderung!

Mit Skaffold:
  Code aendern → Speichern
  → Skaffold erkennt Aenderung (file watch)
  → Baut Image (mit Cache, schnell!)
  → Deployed automatisch in Kubernetes
  → Streamt Logs
  → < 30 Sekunden!

Skaffold installieren

# Linux
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold && mv skaffold /usr/local/bin/

# macOS
brew install skaffold

# Version
skaffold version

skaffold.yaml konfigurieren

# skaffold.yaml im Projekt-Root
apiVersion: skaffold/v4beta11
kind: Config
metadata:
  name: meine-app

build:
  artifacts:
    - image: meine-app
      docker:
        dockerfile: Dockerfile
      sync:
        # Hot-reload ohne Rebuild
        infer:
          - "**/*.html"
          - "static/**"

  local:
    push: false  # Kein Push fuer lokale Entwicklung

test:
  - image: meine-app
    custom:
      - command: go test ./...

deploy:
  kubectl:
    manifests:
      - k8s/*.yaml
  helm:
    releases:
      - name: meine-app
        chartPath: helm/meine-app
        valuesFiles:
          - helm/values.dev.yaml

portForward:
  - resourceType: service
    resourceName: meine-app
    port: 80
    localPort: 8080

profiles:
  - name: staging
    deploy:
      helm:
        releases:
          - name: meine-app
            valuesFiles:
              - helm/values.staging.yaml

Entwicklungs-Workflow

# Lokales minikube/k3d starten
minikube start --profile dev

# Skaffold dev-Modus (file watcher aktiv)
skaffold dev

# Jetzt: Code aendern → auto build+deploy+logs
# Ctrl+C beendet und raeumt auf

# Einmaliges Deployment
skaffold run

# Cleanup
skaffold delete

# Spezifisches Profil
skaffold run -p staging

# Build debuggen
skaffold build --dry-run

FAQ

Kann Skaffold mit Remote-Kubernetes-Cluster arbeiten?
Ja. skaffold dev --kubeconfig=/pfad/zur/kubeconfig. Image muss dann ge-push-t werden (kein local push). Verwende Google Cloud Build, Docker Hub oder private Registry.

Fazit

Skaffold ist das Beste Tool fuer Kubernetes-Entwicklung: automatischer Build-Deploy-Zyklus macht die Inner Development Loop so schnell wie lokale Entwicklung.

Kubernetes-Entwicklung fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel