Kubernetes nedir?
Kubernetes (K8s), konteynerleştirilmiş uygulamaları bir sunucu kümesinde otomatik olarak dağıtan, ölçekleyen ve yöneten açık kaynaklı bir orkestrasyon platformudur. Hangi konteynerin hangi sunucuda çalışacağını belirler, çöken uygulamayı yeniden başlatır ve istenen sayıda kopyanın ayakta kalmasını sağlar.
Kullanıcı, uygulamanın istenen durumunu YAML dosyalarıyla tanımlar; Kubernetes gerçek durumu bu tanıma yaklaştırmak için sürekli çalışır. Bu yaklaşıma bildirimsel yönetim denir.
Nasıl çalışır?
Bir küme, kontrol düzlemi ve çalışan düğümlerden oluşur. Kontrol düzlemi API sunucusu, zamanlayıcı ve durum deposu (etcd) gibi bileşenleri içerir. Uygulamalar pod adı verilen en küçük birimlerde çalışır; Deployment pod sayısını ve güncelleme stratejisini yönetir, Service ise podlara kararlı bir ağ adresi sağlar.
Ek olarak Ingress dış trafiği içeri yönlendirir, ConfigMap ve Secret yapılandırma ve gizli bilgileri taşır, Namespace ise kaynakları mantıksal olarak ayırır. Rol tabanlı erişim kontrolü (RBAC) kimin neyi yapabileceğini belirler.
Sunucu ve hosting ortamında
Kubernetes, kendi sunucularınızda kurulabilir ya da sağlayıcıların yönetilen Kubernetes hizmetleri kullanılabilir. Küçük bir web sitesi için gereksiz karmaşıklık getirebilir; birden çok hizmet, sık dağıtım ve ölçekleme ihtiyacı olan ekiplerde değer üretir. Kümenin güvenliği, API sunucusuna erişim, RBAC ve ağ politikalarına bağlıdır.
Nasıl korunulur?
- API sunucusunu internete açmayın ya da yalnızca güvenilir IP aralıklarına ve güçlü kimlik doğrulamaya açın.
- RBAC'ı en az yetki ilkesiyle yapılandırın;
cluster-admin