Kubernetes'te Pod, Deployment ve Service kavramlarını açıklayın. Bir backend servisini nasıl ayağa kaldırırsınız?

Cevap

  • Pod: Kubernetes'in en küçük çalıştırma birimi. Aynı ağ (IP) ve volume'ları paylaşan bir veya daha fazla container içerir. Pod'lar geçicidir; ölünce yerine farklı IP'li yenisi gelir.
  • Deployment: istenen sayıda pod'un (replica) her zaman çalışmasını sağlar, rolling update ve rollback yönetir. Arka planda ReplicaSet kullanır.
  • Service: değişen pod IP'lerinin önünde sabit bir DNS adı ve sanal IP sunar, trafiği label selector ile eşleşen sağlıklı pod'lara dağıtır.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: order-api
spec:
  replicas: 3
  selector:
    matchLabels: { app: order-api }
  template:
    metadata:
      labels: { app: order-api }
    spec:
      containers:
        - name: api
          image: registry.ornek.com/order-api:1.4.2
          ports:
            - containerPort: 8080
          envFrom:
            - configMapRef: { name: order-api-config }
            - secretRef: { name: order-api-secrets }
---
apiVersion: v1
kind: Service
metadata:
  name: order-api
spec:
  selector: { app: order-api }
  ports:
    - port: 80
      targetPort: 8080

Küme içindeki diğer servisler artık http://order-api adresine istek atabilir.

Diğer temel nesneler

NesneAmaç
ConfigMap / SecretKonfigürasyon ve gizli bilgileri image dışında tutmak
Ingress / Gateway APIDış HTTP trafiğini host/path'e göre servislere yönlendirmek
StatefulSetSabit kimlik ve disk gerektiren uygulamalar (DB, Kafka)
HorizontalPodAutoscalerCPU/bellek veya özel metriğe göre replica sayısını ayarlamak
Job / CronJobTek seferlik veya zamanlanmış işler (migration, rapor)
kubectl apply -f order-api.yaml
kubectl get pods -l app=order-api
kubectl logs -f deploy/order-api
kubectl rollout undo deploy/order-api
  1. Distributed tracing nasıl çalışır? Trace context servisler arasında nasıl taşınır ve OpenTelemetry'nin rolü nedir?ZorDocker & DevOpsBackend
  2. Observability nedir? Log, metric ve trace arasındaki fark nedir ve her biri ne için kullanılır?KolayDocker & DevOpsBackend
  3. Rolling update, blue-green ve canary deployment stratejileri arasındaki farklar nelerdir?OrtaDocker & DevOpsBackend
  4. Ortam değişkenleri ve secret'lar (şifre, API anahtarı) güvenli şekilde nasıl yönetilir?OrtaDocker & DevOpsBackend
  5. CI/CD nedir? Tipik bir backend CI/CD pipeline'ının aşamaları nelerdir?OrtaDocker & DevOpsBackend
  6. İyi bir Dockerfile nasıl yazılır? Multi-stage build ne işe yarar?OrtaDocker & DevOpsBackend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle