Sobes.tech
Middle

Kubernetes'te Deployment ve DaemonSet arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Deployment, Pod'ların bir kümesinin kopyalarını yönetir, gereken sayıyı sağlar ve otomatik ölçeklendirme yapar. Çoğu stateless uygulama ile iyi çalışır.

DaemonSet, kümedeki her düğümde (veya seçiciye göre belirli bir alt kümede) bir Pod kopyasının çalışmasını garanti eder. Arka plan görevleri, log toplama veya izleme gibi işler için kullanılır.

İşte temel farklar:

Özellik Deployment DaemonSet
Amaç Belirli sayıda Pod replikasını korumak Her düğümde (veya alt kümede) bir Pod çalıştırmak
Pod sayısı replicas parametresiyle kontrol edilir Düğüm sayısına göre belirlenir
Ölçeklendirme Yatay, talebe göre Düğüm ekleme/çıkarma ile ilgili
Kullanım örnekleri Web sunucuları, mikroservisler Log toplayıcılar, izleme ajanları, ağ demonları
Güncelleme Kademeli (döner güncelleme) veya değiştirme Gerekirse düğümlerde otomatik güncellenir

Deployment için örnek manifest:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # 3 kopya Pod çalıştır
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

DaemonSet için örnek manifest:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentbit-daemonset
spec:
  selector:
    matchLabels:
      name: fluentbit # Pod seçici etiketi
  template:
    metadata:
      labels:
        name: fluentbit
    spec:
      containers:
      - name: fluentbit
        image: fluent/fluent-bit:1.8 # Log toplayıcı imajı
        # Log dosyalarına erişim gibi ek ayarlar
      tolerations:
      # Master düğümlerde çalışmak için genellikle gerekir
      - key: node-role.kubernetes.io/master
        effect: NoSchedule