Kubernetes mimarisinde, tek bir fiziksel cluster içerisinde mantıksal bölümler oluşturmamızı sağlayan yapıya Namespace denir. Özellikle Dev, Test ve UAT gibi farklı ortam ihtiyaçlarınız olduğunda, her ortam için ayrı bir Kubernetes cluster kurmak maliyetli ve yönetimi zordur. Namespaceler tam da bu noktada devreye girerek, bir cluster içerisinde kaynakları birbirinden ayırmanıza ve izolasyon sağlamanıza olanak tanır.
Varsayılan (Default) Namespaceler
Bir Azure Kubernetes Service (AKS) cluster’ı kurduğunuzda, sistem tarafından otomatik olarak oluşturulan bazı kritik namespaceler bulunur:
- default: Herhangi bir parametre belirtmeden yaptığınız tüm deploymentlar otomatik olarak bu alanda oluşturulur.
- kube-system: Kubernetes’in kendi iç işleyişi için gerekli olan sistemsel podların (örneğin: coredns) çalıştığı kritik alandır.
- kube-public: Cluster içerisindeki tüm kullanıcılar tarafından okunabilen bilgilerin tutulduğu alandır.
- kube-node-lease: Node’ların “heartbeat” (yaşam sinyali) bilgilerini tutarak cluster performansını optimize eden alandır.

[RESİM 1: Azure Portal – AKS Namespaces Genel Görünümü]
Neden Namespace Kullanmalıyız?
Namespaceler sayesinde farklı ekipler veya projeler aynı cluster içerisinde birbirlerinin kaynaklarına karışmadan çalışabilirler. Bu yapı; kaynak sınırlandırması (Resource Quota), erişim kontrolü (RBAC) ve ağ politikaları (Network Policies) uygulamayı çok daha kolay hale getirir.
Yeni Bir Namespace Oluşturma
Yeni bir namespace oluşturmak oldukça basittir. Terminal üzerinden aşağıdaki komutu kullanarak istediğiniz isimde bir alan oluşturabilirsiniz:
Bash
kubectl create namespace <namespace-adi>
Örneğin, menesgokdeniz adında bir namespace oluşturmak için:
Bash
kubectl create namespace menesgokdeniz

[RESİM 2: CLI – kubectl create namespace komut çıktısı]
Azure Portal Üzerinden Doğrulama
Oluşturduğunuz namespace’i doğrulamak için hem CLI (kubectl get ns) kullanabilir hem de Azure Portal üzerinden görsel olarak kontrol edebilirsiniz. Portal üzerinde Kubernetes resources > Namespaces sekmesine girdiğinizde, yeni oluşturduğunuz alanın “Active” statüsünde listede yer aldığını göreceksiniz.

[RESİM 3: Azure Portal – Oluşturulan yeni Namespace’in listedeki görünümü]
Cluster yönetiminizi daha profesyonel hale getirmek için projelerinizi her zaman anlamlı namespaceler altında toplamayı unutmayın.