arrow-up-from-water-pumpIP Adres Aralıkları

🗺️ CIDR ve IP Yönetimi

Kubernetes'te IP adresleri rastgele dağıtılmaz. Herkesin "Mahallesi" (CIDR Bloğu) bellidir. Metin, bu planlamanın 3 ana bölgeye ayrıldığını söylüyor:

1. Üç Farklı Mahalle (Resource Types)

Kubernetes, karışıklığı önlemek için adres defterini 3'e böler:

  1. Node Mahallesi (Fiziksel):

    • Nedir: Sunucuların kendi IP adresleridir.

    • Kim Verir: Bunu Kubernetes vermez. Ağ yöneticisi, Cloud sağlayıcın (AWS, Azure) veya modemindeki DHCP verir. Bunlar "Arsa"nın tapusudur.

  2. Pod Mahallesi (Nüfus):

    • Nedir: Uygulamaların (Pod'ların) yaşadığı yerdir. Her Pod buradan bir IP alır.

    • Kim Verir: CNI Eklentisi (Calico, Cilium vb.) verir.

    • Örnek: 10.244.0.0/16 aralığı Pod'lar içindir.

  3. Service Mahallesi:

    • Nedir: Pod'lara ulaşmak için kullanılan sabit "Danışma Hattı" numaralarıdır (ClusterIP).

    • Kim Verir: Kubernetes API Server verir. Bu IP'ler sanaldır, fiziksel bir kablosu yoktur.

    • Örnek: 10.96.0.0/12 aralığı Servisler içindir.

2. No Overlap

  • Routing Sorunu: Eğer Pod'lara ayırdığın IP aralığı ile fiziksel ağındaki (Node) IP aralığı çakışırsa, postacı paketi nereye götüreceğini bilemez. Paket kaybolur.

  • Cluster kurarken seçtiğin CIDR aralığı, şirketindeki diğer sunucuların IP'leriyle çakışmamalıdır. Yoksa o Pod, şirket veritabanına erişemez.

3. Scalability

  • Pod CIDR bloğunu baştan geniş tutmalısın ki sistem büyüdüğünde IP bitmesin.

  • IP-per-Pod: Her Pod bir IP yiyeceği için, havuzun Pod sayısına yetecek kadar büyük olması şarttır.

4. Uygulayıcı: CNI

  • Sen kurulumda dersin ki: "Pod'lar 192.168.0.0/16 bloğunu kullansın."

  • CNI Eklentisi (Usta), bu emri alır ve her yeni Pod oluşturulduğunda bu havuzdan bir numara seçip Pod'a yapıştırır. Pod silindiğinde numarayı geri alır ve havuza koyar.

Last updated