Kubernetes क्लस्टर तैनाती
एंटरप्राइज़ डिप्लॉयमेंट —— ऑटो-स्केलिंग, हाई अवेलेबिलिटी, रोलिंग अपडेट्स
कब K8s पर जाना चाहिए
सीधे कह दूँ: ज़्यादातर लोगों को Kubernetes की जरूरत नहीं। डॉकर कंपोज़ बहुत सारे ट्रैफ़िक हैंडल कर सकता है। पर अगर तुम्हारी सिचुएशन ऐसी है —— कई लोग एक साथ यूज़ करते हैं, ऑटो-स्केलिंग चाहिए, ज़ीरो-डाउनटाइम अपडेट्स —— तो K8s सही जवाब है।
यह article step-by-step K8s पर OpenClaw deploy करना सिखाता है, cluster setup से लेके HPA auto-scaling तक।
पाँच स्टेप में K8s डिप्लॉयमेंट सेटअप हो जाता है
Cluster preparation
पहले K8s क्लस्टर सेटअप कर लो। क्लाउड वेंडर की मैनेज्ड K8s यूज़ कर सकते हो (अलीबाबा ACK, टेनसेंट TKE, AWS EKS), या kubeadm से अपना बनाओ। कम से कम 3 नोड्स, 1 master + 2 worker।
Deployment बनाओ
एक Deployment YAML लिख दो, OpenClaw के Pod टेंप्लेट को डिफ़ाइन करो, रेप्लिकाज़, रिसोर्स लिमिट्स। कम से कम 2 रेप्लिकाज़ रखो, एक गिरा तो दूसरा संभाल ले।
Service बनाओ
Service विभिन्न Pods में ट्रैफिक वितरित करने के लिए जिम्मेदार है। क्लस्टर के अंदर के उपयोग के लिए ClusterIP प्रकार का उपयोग करें, या NodePort सीधे बाहर बताएं।
Configure Ingress
Ingress क्लस्टर का प्रवेश द्वार है, डोमेन रूटिंग और TLS unloading के लिए जिम्मेदार है। एक Nginx Ingress Controller इंस्टॉल करें, फिर Ingress नियम कॉन्फ़िगर करें।
HPA auto-scaling को enable करना।
HPA (Horizontal Pod Autoscaler) CPU या मेमोरी उपयोग के आधार पर स्वचालित रूप से Pod संख्या बढ़ाता-घटाता है। चोटी के समय स्वचालित रूप से स्केल अप, कम समय में स्वचालित रूप से स्केल डाउन, पैसा और प्रयास बचाता है।
तैनाती कॉन्फ़िग
यह core config file है, जो define करती है कि OpenClaw कैसे चलेगी:
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 कॉन्फ़िगरेशन
apiVersion: v1
Deployment command
YAML लिख गए, कुछ कमांड से तैनात कर सकते हैं:
# नेमस्पेस बनाएं
Rolling update और rollback।
K8s का रोलिंग अपडेट शामिल है, लेकिन आपको पता होना चाहिए कि रोलबैक कैसे करते हैं:
# छवि संस्करण अपडेट करें