Kubernetes Multi-Tenant Cluster Ayarları

IronSpecter

Astsubay Başçavuş
Admin
Katılım
23 Kasım 2025
Mesajlar
983
Reaksiyon puanı
57
Kubernetes üzerinde çok kiracılı bir (multi-tenant) yapı kurmak, karmaşık görünse de doğru adımlar atıldığında oldukça yönetilebilir hale geliyor. Burada dikkat edilmesi gereken ilk unsur, kaynakların nasıl yönetileceğidir. Namespace kullanarak, her bir kiracının kaynaklarını izole edebiliriz. Bu, her kiracı için ayrı bir alan sağlayarak, bir kiracının diğerinin kaynaklarına erişmesini engeller. Örneğin, `kubectl create namespace tenant1` komutuyla yeni bir namespace oluşturup, bu alanı tenant1 için kullanıma açabiliriz. Bu aşamada, hangi kaynakların hangi namespace altında bulunacağını belirlemek, kaynak yönetimini daha da kolaylaştırır.

Rol tabanlı erişim kontrolü (RBAC), çok kiracılı bir Kubernetes ortamında güvenliği sağlamak için kritik bir bileşendir. Her kiracı için ayrı bir rol ve bu rollere atanmış izinler oluşturmak, her bir kiracının sadece kendi kaynaklarına erişmesini garanti eder. Örneğin, `kubectl create role developer --verb=get,list,watch --resource=pods --namespace=tenant1` komutuyla tenant1 için bir rol oluşturabilirsiniz. Bu, geliştiricilere pod’ları görüntüleme izni verirken, diğer kiracıların kaynaklarına erişimlerini kısıtlar. Güvenlik her zaman öncelikli olmalı...

Kaynak kotaları belirlemek, çok kiracılı bir ortamda kaynakların adil dağılımını sağlamak için gereklidir. Kubernetes, her namespace için kaynak kotaları belirlemeye izin verir. Örneğin, `kubectl create quota tenant1-quota --hard=cpu=4,memory=8Gi --namespace=tenant1` komutuyla tenant1 için CPU ve bellek kotaları tanımlayabilirsiniz. Böylece, bir kiracının kaynak tüketimi diğerlerinin performansını etkilemez. Ama bazen, bu kotaları aşan taleplerle karşılaşabilirsiniz. O yüzden, kiracıların kaynak ihtiyaçlarını doğru analiz etmek gerek…

İzleme ve günlükleme, çok kiracılı bir Kubernetes ortamında sorunların hızlıca tespit edilmesi açısından oldukça önemlidir. Prometheus ve Grafana gibi araçlar kullanarak, her kiracı için ayrı izleme panelleri oluşturabilirsiniz. Bu, her kiracının kaynak kullanımını anlık olarak takip etmenizi sağlar. Örneğin, her kiracı için özel bir Prometheus sorgusu yazarak, yalnızca o kiracının kaynak verilerini çekebilirsiniz. Böylece, her kiracının performansını ayrı ayrı değerlendirebilir, sorunları daha hızlı çözebilirsiniz. Günlük kayıtları ise, her kiracının faaliyetlerini gözlemlemek için başka bir önemli unsurdur...

Son olarak, ağ politikalarının uygulanması, güvenliğin bir diğer önemli parçasıdır. Kubernetes, Calico veya Cilium gibi araçlar kullanarak ağ politikaları oluşturmanıza olanak tanır. Bu politikalar sayesinde, bir kiracının trafiğini diğer kiracılardan izole edebilirsiniz. Örneğin, `kubectl apply -f network-policy.yaml` komutuyla bir ağ politikası uygulamak, belirli bir namespace içindeki pod’ların yalnızca belirli IP adreslerine erişmesini sağlayabilir. Bu aşamada, her kiracının ağını yönetmek ve güvenliğini sağlamak oldukça kritik bir rol oynar. Unutmayın, her zaman güvenlik ve erişim kontrolü öncelikli olmalı…
 
Geri
Üst Alt