HYHüseyin.dev
Tüm yazılar
·1 dk okuma

Kubernetes Öğreniyorum — Hafta 1: Temel Kavramsal Model

DevOps yolculuğumda Kubernetes öğrenirken tuttuğum notlar. Bölüm 1: Pod, Deployment, Service.

kubernetesdevopsöğrenme-notlarıcontainers

DevOps hedefime giderken Kubernetes'i ciddi olarak öğrenmeye karar verdim. Bu, birkaç hafta sürecek serinin ilk yazısı. Burada kavramsal modeli, en temel objeleri ve ilk hatalarımı not alıyorum.

Neden Kubernetes?

Container'ları manuel olarak birden fazla makinede çalıştırmak çabuk kaotik olur. K8s şunları çözer:

  • Self-healing: Container ölürse yeniden başlat
  • Horizontal scaling: Trafik artarsa replica say
  • Rolling updates: Sıfır downtime deployment
  • Service discovery: Container IP'si değişse bile sabit isim

4 temel obje

1. Pod

En küçük birim. Genellikle 1 container içerir (ama birden fazla da olabilir). Kısa ömürlüdür, IP'si değişebilir.

2. Deployment

Pod'ların "declarative" tanımı. "Şu imajdan 3 replica istiyorum" dediğinizde K8s bunu sağlar. Yeni versiyon çıkınca rolling update yapar.

3. Service

Pod'lara sabit bir iç IP + DNS ismi verir. 3 tipi var: ClusterIP (default, sadece iç), NodePort (dışarı aç), LoadBalancer (cloud provider).

4. Namespace

Cluster'ı mantıksal olarak böler. dev, staging, prod ayrı namespace'lerde yaşar.

İlk hatalarım

  • YAML indentation'ı yanlış yazdım → 45 dakika "ImagePullBackOff" hatası araştırdım. Nedeni: - name: nginx'in alt satırı 2 space değil, 1 space'ti.
  • Service'i NodePort yaptım ama sadece test amaçlıydı, gerçekte LoadBalancer veya Ingress gerekiyor.
  • Resource limit koymadım → Bir pod tüm node RAM'ini yedi.

Hafta 1 öğrenme listesi

kubectl get pods -A ne yapıyor? ✅ YAML'da Deployment yazabiliyorum ✅ Service'in pod'lara nasıl yönlendirdiğini anladım ✅ Port-forward, logs, exec komutlarını biliyorum 🔲 ConfigMap ve Secret ayrımı (Hafta 2) 🔲 PersistentVolume / PVC (Hafta 2) 🔲 StatefulSet ne zaman gerekli? (Hafta 3)

Bu seriyi, CKA sertifikası alana kadar devam ettirmeyi planlıyorum. Bir sonraki yazı: state yönetimi ve kalıcı veri.