Kubernetes Cluster Kurulumu ve Temel Kavramlar: Üretim Ortamları İçin Derinlemesine Bir Kılavuz

 · 

Kubernetes Cluster Kurulumu ve Temel Kavramlar: Üretim Ortamları İçin Derinlemesine Bir Kılavuz

Kubernetes Cluster Kurulumu ve Temel Kavramlar: Üretim Ortamları İçin Derinlemesine Bir Kılavuz

Modern dağıtık sistem mimarilerinde orkestrasyonun merkezi aktörü Kubernetes, containerize edilmiş iş yüklerinin otomatik dağıtımı, ölçeklenmesi ve yönetimi için endüstri standardı haline gelmiştir. Bu rehber, bir Kubernetes cluster'ının temel bileşenlerini, kilit kavramlarını ve üretim ortamlarında karşılaşılacak kurulum stratejilerini detaylıca inceleyecektir.

Kubernetes Temel Mimarisi ve Bileşenleri

Bir Kubernetes cluster'ı, en az bir Control Plane (eski adıyla Master) ve birden fazla Worker Node'dan oluşur. Her bir bileşenin belirli bir görevi bulunur:

Control Plane Bileşenleri:

  • kube-apiserver: Kubernetes API'sini sunar, tüm cluster iletişiminin ana giriş noktasıdır.
  • etcd: Cluster durumunu ve konfigürasyon verilerini saklayan dağıtık ve güvenilir bir anahtar-değer deposudur.
  • kube-scheduler: Yeni oluşturulan Pod'ların hangi Worker Node üzerinde çalışacağına karar verir. Kaynak gereksinimleri ve Node kısıtlamalarını dikkate alır.
  • kube-controller-manager: Controller'ları çalıştırır. Örnek olarak, Node Controller (Node'ları izler), Replication Controller (belirtilen sayıda Pod kopyasını korur) ve Endpoint Controller (Servis ve Pod'ları birleştirir) verilebilir.
  • cloud-controller-manager: Bulut sağlayıcı API'leri ile etkileşime girerek load balancer'lar, kalıcı depolama birimleri gibi bulut kaynaklarını yönetir. AWS için EC2 instance'larını, ELB'leri ve EBS birimlerini yönetir.

Worker Node Bileşenleri:

  • kubelet: Her Node üzerinde çalışan bir ajandır. Control Plane'den gelen Pod spec'lerini alır ve Pod'ların container'larını çalıştırmaktan ve sağlıklı tutmaktan sorumludur.
  • kube-proxy: Her Node'da çalışan bir ağ proxy'sidir. Servislerin sanal IP adreslerini ve yük dengelemesini yönetir, Pod'lar arası ve dışarıdan Pod'lara erişimi sağlar.
  • Container Runtime: Container'ları çalıştıran yazılımdır (örn. containerd, CRI-O, Docker).

Aşağıda basit bir Control Plane başlatma komutu ve Worker Node'a katılım örneği yer almaktadır:

# Control Plane Başlatma (kubeadm ile)sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint=            
← Blog Listesine Dön