Kubernetes Basics — DevOps

Apa itu Kubernetes? Kubernetes (K8s) adalah platform orkestrasi container. Jika Docker menjalankan satu container, Kubernetes mengelola ratusan/ribuan container

Apa itu Kubernetes?

Kubernetes (K8s) adalah platform orkestrasi container. Jika Docker menjalankan satu container, Kubernetes mengelola ratusan/ribuan container di banyak server.

Konsep Utama

Deployment YAML

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: app
          image: my-app:latest
          ports:
            - containerPort: 3000
          resources:
            requests:
              memory: "128Mi"
              cpu: "250m"
            limits:
              memory: "256Mi"
              cpu: "500m"

Service YAML

# service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - port: 80
      targetPort: 3000
  type: LoadBalancer

Pod Lifecycle

Siklus hidup Kubernetes Pod dari pending hingga terminating Pending scheduler assign node ContainerCreating pull image mount volume Running postStart hook liveness probe Terminating preStop hook SIGTERM → SIGKILL Succeeded or Failed readiness probe menentukan kapan pod menerima traffic
Pod bergerak dari Pending ke Running melalui ContainerCreating. preStop hook memberi container waktu cleanup sebelum SIGKILL.

kubectl Commands

# Apply konfigurasi
kubectl apply -f deployment.yaml

# Lihat resource
kubectl get pods
kubectl get deployments
kubectl get services

# Scale
kubectl scale deployment my-app --replicas=5

# Logs & Debug
kubectl logs pod-name -f
kubectl exec -it pod-name -- sh
kubectl describe pod pod-name

Yang akan kamu pelajari