Kubernetes-Cluster-Bereitstellung

Enterprise Bereitstellung —— Auto-Scaling, hohe Verfügbarkeit, Rolling Update

Wann sollte man auf K8s wechseln

Ehrlich gesagt: Die meisten brauchen Kubernetes nicht. Single-Machine Docker Compose kann viel Verkehr tragen. Aber wenn du diese Situation hast —— mehrere Team-Mitglieder gleichzeitig, elastische Skalierung, Zero-Downtime Update —— dann K8s ist richtig.

Diese Anleitung zeigt dir Schritt für Schritt OpenClaw auf K8s zu deployen, von Cluster-Setup bis HPA Auto-Scaling.

Fünf Schritte K8s Bereitstellung fertig

1

Cluster-Vorbereitung

Zuerst K8s Cluster aufbauen. Kann Cloud-Anbieter verwaltetes K8s (Alibaba Cloud ACK, Tencent TKE, AWS EKS) oder selbstgebaut mit kubeadm. Mindestens 3 Knoten, 1 master + 2 worker empfohlen.

2

Erstelle Deployment

Schreibe ein Deployment YAML, definiere OpenClaw Pod Template, Replicas, Ressourcen-Limits. Mindestens 2 Replicas empfohlen, eine fällt aus, andere steht bereit.

3

Erstelle Service

Service verteilt Traffic zu Pods. Nutze ClusterIP-Typ für Cluster-intern, oder NodePort für direkt externe Sichtbarkeit.

4

Ingress konfigurieren

Ingress ist das Cluster-Gateway, verantwortlich für Domain-Routing und TLS-Offloading. Einen Nginx Ingress Controller installieren, dann Ingress-Regeln konfigurieren.

5

HPA Auto-Skalierung aktivieren

HPA (Horizontal Pod Autoscaler) skaliert Pod-Anzahl automatisch nach CPU oder RAM. Spitzenlast automatisch vergrößern, Talsohle automatisch verkleinern, Kostenersparnis und Sorglosigkeit.

Deployment-Konfiguration

Das ist die zentrale Config-Datei, definiert wie OpenClaw läuft:

deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: openclaw
  namespace: openclaw
  labels:
    app: openclaw
spec:
  replicas: 2
  selector:
    matchLabels:
      app: openclaw
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  template:
    metadata:
      labels:
        app: openclaw
    spec:
      containers:
      - name: openclaw
        image: openclaw/openclaw:latest
        ports:
        - containerPort: 3000
        resources:
          requests:
            cpu: "500m"
            memory: "512Mi"
          limits:
            cpu: "2000m"
            memory: "2Gi"
        env:
        - name: OPENCLAW_API_KEY
          valueFrom:
            secretKeyRef:
              name: openclaw-secrets
              key: api-key
        livenessProbe:
          httpGet:
            path: /health
            port: 3000
          initialDelaySeconds: 30
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /health
            port: 3000
          initialDelaySeconds: 5
          periodSeconds: 5
        volumeMounts:
        - name: data
          mountPath: /app/data
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: openclaw-data

Service Konfiguration

service.yaml
apiVersion: v1

Deployment-Befehl

YAML konfiguriert, paar Befehle bereitstellen:

kubectl Bereitstellungsbefehle
# Namespace erstellen
💡 Nicht K8s verwenden nur um zu zeigen。Persönlich oder kleine Teams (unter 5 Personen) kommen sehr gut mit Docker Compose aus, Operations-Kosten sind viel niedriger. K8s Lernkurve ist steil, und der Cluster selbst erfordert Wartung. Erwäge K8s nur wenn du wirklich auf eine einzelne Maschine nicht mehr passt und elastische Skalierung brauchst.

Rolling Update und Rollback

K8s Rolling Update ist eingebaut, aber du musst wissen, wie man Rollback macht:

Update und Rollback
# Image-Version aktualisieren
Hat diese Anleitung dir geholfen?