Use Cases (Diperbarui: 2/6/2026)

Kubernetes dengan Claude Code: Deployment, Service, Ingress, rollback

Panduan membuat manifest Kubernetes aman dengan Claude Code: probes, resources, CI review, dan rollback.

Kubernetes dengan Claude Code: Deployment, Service, Ingress, rollback

Buat YAML yang bisa direview

Kubernetes menjalankan aplikasi container di dalam cluster, tetapi bagian tersulit bagi pemula adalah jumlah konsep yang muncul sekaligus: Deployment, Service, Ingress, ConfigMap, Secret, probes, requests, limits, rollout, dan rollback. Jika kamu hanya meminta Claude Code “buatkan YAML Kubernetes”, hasilnya mungkin terlihat benar tetapi memakai latest, tidak punya readinessProbe, menaruh contoh Secret di Git, atau mengekspos Service dengan cara yang tidak sesuai.

Panduan ini memakai Claude Code sebagai pembuat scaffold yang aman dan mudah direview. Contohnya memakai nginx:1.27-alpine dan halaman HTML dari ConfigMap, jadi tidak perlu private registry. Kamu bisa mencobanya di kind, minikube, Docker Desktop Kubernetes, atau cluster sementara. Setelah alurnya jelas, ganti image, health check path, dan Ingress sesuai aplikasi nyata.

Gunakan dokumentasi resmi sebagai dasar: Deployments, Services, Ingress, probes, resource management, ConfigMap, Secret, dan kubectl rollout. Untuk konteks lanjutan, baca Docker integration, CI/CD setup, code review, dan permissions guide.

Use case nyata

Jangan mulai dari platform besar. Mulai dari unit kecil yang bisa di-apply, dicek, dirusak secara sengaja, lalu dikembalikan.

Use caseTujuanYang diminta ke Claude Code
Deploy internal tool pertamaMenaruh web app di belakang Service stabilDeployment, ClusterIP Service, probes, requests dan limits
Training clusterSemua peserta menjalankan langkah yang samaManifest dengan namespace, command verifikasi, latihan failure
Review sebelum productionMenangkap konfigurasi berisikoSelector, Secret, probe, Ingress, rollback
Pull Request gateMenghentikan kesalahan infrastruktur lebih awaldry-run CI dan checklist review

Topik ini juga cocok untuk monetisasi karena pembaca ingin menghindari kesalahan nyata, bukan sekadar membaca definisi. ClaudeCodeLab menghubungkan guide ini ke resource gratis, template, dan training serta konsultasi Claude Code untuk tim yang ingin menerapkan workflow ini ke repository mereka.

Prompt dengan batas jelas

Dalam Kubernetes, tulis juga apa yang tidak boleh dibuat. Tanpa batas, model bisa memilih LoadBalancer, menulis Secret palsu, membuat RBAC cluster-wide, atau mengasumsikan Ingress Controller yang berbeda.

Buat contoh deployment Kubernetes untuk pemula yang bisa dites lokal.

Requirements:
- namespace claude-k8s-demo
- gunakan nginx:1.27-alpine, bukan private image
- sertakan ConfigMap dengan satu halaman HTML
- Deployment punya replicas 2, RollingUpdate, readinessProbe, livenessProbe, dan resources
- Service bertipe ClusterIP
- Ingress opsional dengan host claude-k8s.local
- jelaskan kebijakan Secret tanpa membuat nilai Secret asli
- sertakan command apply, rollout status, port-forward, failure, dan rollback

Constraints:
- jangan gunakan NodePort atau LoadBalancer
- jangan tulis nilai Secret asli ke YAML
- jangan buat ClusterRole, ClusterRoleBinding, atau command destruktif

Prompt ini membuat review lebih konkret: labels, selectors, ports, probes, resources, dan secrets. Kalau tim sering mengulangnya, pindahkan aturan stabil ke CLAUDE.md; lihat CLAUDE.md best practices.

Manifest siap pakai

Simpan sebagai k8s/claude-k8s-demo.yaml. Ingress butuh controller, tetapi Service bisa dicek dengan port-forward.

apiVersion: v1
kind: Namespace
metadata:
  name: claude-k8s-demo
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-page
  namespace: claude-k8s-demo
data:
  APP_ENV: "demo"
  index.html: |
    <!doctype html>
    <html lang="id">
      <head><meta charset="utf-8" /><title>Claude Code Kubernetes Demo</title></head>
      <body><h1>Claude Code Kubernetes Demo</h1><p>Deployment, Service, ConfigMap, probes are running.</p></body>
    </html>
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-web
  namespace: claude-k8s-demo
  labels:
    app: demo-web
spec:
  replicas: 2
  selector:
    matchLabels:
      app: demo-web
  template:
    metadata:
      labels:
        app: demo-web
    spec:
      containers:
        - name: nginx
          image: nginx:1.27-alpine
          ports:
            - name: http
              containerPort: 80
          resources:
            requests:
              cpu: "50m"
              memory: "64Mi"
            limits:
              cpu: "250m"
              memory: "128Mi"
          readinessProbe:
            httpGet:
              path: /
              port: http
            initialDelaySeconds: 3
            periodSeconds: 5
          livenessProbe:
            httpGet:
              path: /
              port: http
            initialDelaySeconds: 10
            periodSeconds: 10
          volumeMounts:
            - name: demo-page
              mountPath: /usr/share/nginx/html/index.html
              subPath: index.html
              readOnly: true
      volumes:
        - name: demo-page
          configMap:
            name: demo-page
---
apiVersion: v1
kind: Service
metadata:
  name: demo-web
  namespace: claude-k8s-demo
spec:
  type: ClusterIP
  selector:
    app: demo-web
  ports:
    - name: http
      port: 80
      targetPort: http

Kesalahan pemula paling sering adalah mismatch antara selector.matchLabels, label Pod template, dan selector Service. Minta Claude Code mengecek tiga bagian itu bersama-sama.

Verifikasi lokal

Pastikan cluster benar dengan kubectl cluster-info, lalu jalankan:

kubectl apply -f k8s/claude-k8s-demo.yaml
kubectl -n claude-k8s-demo rollout status deployment/demo-web
kubectl -n claude-k8s-demo get pods -l app=demo-web
kubectl -n claude-k8s-demo get service demo-web
kubectl -n claude-k8s-demo port-forward service/demo-web 8080:80

Di terminal lain:

curl http://localhost:8080/

Ingress dicek belakangan. Buktikan dulu Pod dan Service bekerja.

kubectl -n claude-k8s-demo get ingress demo-web
kubectl -n claude-k8s-demo describe ingress demo-web

ConfigMap, Secret, dan rollback

ConfigMap untuk konfigurasi yang tidak sensitif. Jangan menaruh password database, API token, session key, atau signing secret di sana. Secret memang untuk nilai sensitif, tetapi YAML Secret dengan base64 tetap tidak boleh masuk Git. Base64 bukan enkripsi. Untuk production, pakai Secret Manager, External Secrets, Sealed Secrets, SOPS, atau proses vault yang disetujui tim.

Untuk latihan lokal:

kubectl -n claude-k8s-demo create secret generic demo-api-secret \
  --from-literal=API_TOKEN='replace-me-locally' \
  --dry-run=client \
  -o yaml > secret.local.yaml

kubectl apply -f secret.local.yaml

Latih rollout dan rollback:

kubectl -n claude-k8s-demo set image deployment/demo-web nginx=nginx:1.27-alpine
kubectl -n claude-k8s-demo rollout status deployment/demo-web
kubectl -n claude-k8s-demo rollout history deployment/demo-web
kubectl -n claude-k8s-demo set image deployment/demo-web nginx=nginx:not-a-real-tag
kubectl -n claude-k8s-demo rollout status deployment/demo-web --timeout=30s
kubectl -n claude-k8s-demo rollout undo deployment/demo-web

Rollback Deployment tidak otomatis mengembalikan ConfigMap, Secret, migrasi database, DNS, atau feature flag. Runbook harus menjelaskan apa yang kembali dan apa yang perlu prosedur terpisah.

CI, pitfall, dan hasil uji

Minimal tambahkan dry-run di Pull Request:

name: Kubernetes manifest review
on:
  pull_request:
    paths:
      - "k8s/**"
jobs:
  dry-run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: azure/setup-kubectl@v4
        with:
          version: "v1.30.0"
      - run: kubectl apply --dry-run=client -f k8s/

Pitfall umum adalah memakai latest di production, menyamakan readiness dan liveness, lupa resources, menganggap base64 aman, debug Ingress sebelum Service, dan deploy output Claude Code tanpa review manusia. Guide ini dirancang untuk diverifikasi dengan urutan apply, rollout status, cek Pod, port-forward, curl, image salah, failure terlihat, lalu rollout undo. Developer individu bisa mulai dari cheatsheet gratis. Tim dapat memakai training dan konsultasi Claude Code untuk menyesuaikan prompt, CLAUDE.md, CI gate, dan latihan rollback ke repository nyata.

#Claude Code #Kubernetes #DevOps #container orchestration #infrastructure
Gratis

PDF gratis: cheatsheet Claude Code

Masukkan email dan unduh satu halaman berisi command, kebiasaan review, dan workflow aman.

Kami menjaga datamu dan tidak mengirim spam.

Masa

Tentang penulis

Masa

Engineer yang berfokus pada workflow Claude Code praktis dan adopsi tim.