Foundationপ্রথম নীতি থেকে
LEVEL 12 · Virtualization, Containers & Cloud

Deployment Controller

ডিপ্লয়মেন্ট কন্ট্রোলার

একটা reconciliation loop যা 'N replicas চাই' এই declarative দাবি বাস্তবায়ন করে — মৃত Pod মেরামত না করে সবসময় নতুন IP-সহ একটা নতুন Pod তৈরি করে replace করে।

also: deployment, replicaset-controller, k8s-deployment

loop:
  desired = spec.replicas
  observed = count(matching Pods, Running)
  if observed < desired: create নতুন Pod
  if observed > desired: delete বাড়তি Pod
  • Pod immutability নীতির প্রয়োগকারী — কখনো একটা Pod-কে “সারায়” না, শুধু গণনা করে create/delete করে
  • মৃত Pod-এর জায়গায় তৈরি হওয়া নতুন Pod-এর IP আলাদা — এই কারণেই Service দরকার হয়
  • Rolling update এই একই লুপের নিয়ন্ত্রিত প্রয়োগ — পুরনো ও নতুন template-এর Pod ধাপে ধাপে বদলানো, desired count বজায় রেখে
  • Container-স্তরের in-place restart (kubelet-এর কাজ) থেকে ভিন্ন — এটা Pod-স্তরে কাজ করে, শুধু যখন পুরো Pod হারিয়ে যায়