9.2. Konteyner İç Yapısı & Üretimde Kubernetes
Bir konteyner, hafif bir sanal makine değildir; namespace’ler ve cgroup’larla sarılmış, ne görebileceğini ve tüketebileceğini kısıtlayan normal bir Linux sürecidir. Bu ilkellerin tam olarak ne yaptığını bilmek, bir OOMKill’i tahmin etmekle onu anlamak arasındaki farktır. Bu bölüm, Kubernetes soyutlamalarının altına, konteyner iç yapısına, baskı altında kimin öldürüleceğine karar veren kaynak yönetimi modeline (request’ler, limit’ler, QoS, CPU throttling), cluster ağına, kalıcı depolamaya, graceful termination’a ve cluster’ın kendisini boyutlandıran otomatik ölçeklemeye iner.
İncelenen Konular
Section titled “İncelenen Konular”- 9.2.1. Konteyner İç Yapısı: Namespace’ler, cgroups v2 ve OCI Runtime: Bir konteyneri kısıtlanmış bir Linux süreci yapan namespace’lere, cgroups v2’ye ve OCI runtime’a iner.
- 9.2.2. Kaynak Yönetimi: Request’ler, Limit’ler, QoS, OOMKill ve CPU Throttling: Request’leri, limit’leri, QoS sınıflarını, OOMKill’i ve herkesi şaşırtan CFS quota throttling’i kapsar.
- 9.2.3. Kubernetes Ağı: Service’ler, kube-proxy ve CNI: Service soyutlamasını, kube-proxy’nin mekaniğini ve pod ağını bağlayan CNI’yı açıklar.
- 9.2.4. Kalıcı Depolama: PV, PVC ve CSI Arayüzü: Kalıcı volume’leri, claim’leri ve cluster’ları depolama backend’lerine bağlayan CSI arayüzünü kapsar.
- 9.2.5. Graceful Termination ve PodDisruptionBudget’lar: SIGTERM’den SIGKILL’e kapanma dizisini ve boşaltmalar sırasında erişilebilirliği koruyan PodDisruptionBudget’ları açıklar.
- 9.2.6. Cluster Otomatik Ölçekleme: Cluster Autoscaler, Karpenter ve VPA: Cluster’ı ve pod’larını gerçek talebe göre boyutlandırmak için Cluster Autoscaler, Karpenter ve VPA’yı karşılaştırır.