Skip to content

[KUBERNETES] CHEATSHEET

fourslickz edited this page Apr 15, 2026 · 5 revisions

Kubernetes DigitalOcean -- DevOps Cheat Sheet

1. Konteks & Kubeconfig

Export kubeconfig

doctl kubernetes cluster kubeconfig save <cluster-name>

Cek context

kubectl config get-contexts
kubectl config use-context <context>

2. Node Management

kubectl get nodes -o wide
kubectl cordon <node>
kubectl uncordon <node>
kubectl drain <node> --ignore-daemonsets --delete-emptydir-data
kubectl describe node <node>

3. Pod / Deployment / Service

kubectl get pods -A
kubectl describe pod <name>
kubectl apply -f app.yaml
kubectl delete -f app.yaml
kubectl rollout restart deployment <name>
kubectl rollout status deployment <name>

4. Namespace

kubectl get ns
kubectl create ns staging
kubectl -n staging get pods
kubectl config set-context --current --namespace=staging

5. Logs & Debugging

kubectl logs <pod>
kubectl logs <pod> -f
kubectl logs <pod> -c <container>
kubectl exec -it <pod> -- /bin/sh
kubectl debug <pod> -it --image=busybox

6. Autoscaling

HPA

kubectl autoscale deploy app --min=2 --max=10 --cpu-percent=70
kubectl get hpa

Node Autoscaling DO

doctl kubernetes node-pool list <cluster-id>
doctl kubernetes node-pool update <cluster-id> <pool-id> --auto-scale --min-nodes 2 --max-nodes 6

7. Storage (PVC)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-data
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: do-block-storage
  resources:
    requests:
      storage: 10Gi

8. Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app
spec:
  ingressClassName: nginx
  rules:
    - host: app.domain.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: app-svc
                port:
                  number: 80

9. Secrets & ConfigMap

kubectl create secret generic db-secret --from-literal=DB_USER=root --from-literal=DB_PASS=pass123
kubectl create configmap app-config --from-file=config.json

10. Best Practice DO Kubernetes

  • Gunakan namespace per aplikasi
  • Pakai HPA + node autoscaling
  • Tetapkan resource requests & limits
  • Gunakan 1 ingress LB untuk hemat biaya
  • DO CSI storage untuk PV
  • Gunakan firewall DO
  • Monitoring pakai Prometheus + DO metrics
  • Rolling update wajib

kubectl get svc -n ayopramuka
kubectl get httproute -n ayopramuka
kubectl get httproute ayo-pramuka-passport-staging -n ayopramuka -o yaml > backup-passport.yaml
kubectl edit httproute ayo-pramuka-passport-staging -n ayopramuka
kubectl get svc -n ayopramuka
kubectl delete deployment ayo-pramuka-service-gamification -n ayopramuka
kubectl delete svc ayo-pramuka-service-gamification -n ayopramuka
kubectl get endpoints ayo-pramuka-gamification-service -n ayopramuka
kubectl get svc ayo-pramuka-gamification-service -n ayopramuka -o yaml
kubectl get pod -n ayopramuka --show-labels | grep gamification
kubectl get pod -n ayopramuka --show-labels | grep giat
kubectl edit svc ayo-pramuka-giat-service -n ayopramuka
kubectl edit svc ayo-pramuka-gamification-service -n ayopramuka
kubectl get endpoints ayo-pramuka-gamification-service -n ayopramuka

Clone this wiki locally