İyi Pratikler

Erişilebilirlik

  • liveness and readiness prop’ları doğru şekilde yapılandırıldı mı?
  • Master Node’lar tek sayı ve en az 3 tane mi?
  • ETCD servisleri izole edildi mi?
  • Düzenli etcd yedeklemeleri için bir planınız var mı?
  • Master Node’lar bölgeler arası dağıtıldı mı?
  • Worker (İşçi) Node’lar bölgeler arası dağıtıldı mı?
  • Master ve Worker (işçi) Node’lar için Autoscaling ayarlandı mı?
  • HA yük dengeleme oluşturuldu mu?
  • Scheduler ve controller manager için aktif-pasif yapılandırma var mı?
  • Yüksek erişilebilirlik için doğru sayıda pod kopyası oluşturuldu mu?
  • Spinning up any naked pods?
  • Çoğul küme federasyonu yapılandırıldı mı?*
  • etcd servisleri için heartbeat ve master seçim zaman aşımı ayarlandı mı?
  • Ingress yapılandırıldı mı?

Kaynak Yönetimi

  • Konteynerler için kaynak istekleri ve sınırları yapılandırıldı mı?
  • Yerel geçici depolama için belirtilen kaynak istekleri ve sınırları yapılandırıldı mı?
  • Ekipleriniz için ayrı ad alanları oluşturdunuz mu?
  • Ad alanları için varsayılan kaynak istekleri, sınır aralıkları ve sınırları yapılandırıldı mı?
  • Ad alanları için pod ve API Kotaları yapılandırıldı mı?
  • Etcd için yeterli kaynak sağlandı mı?
  • Etcd için anlık bellek kullanımı yapılandırıldı mı?
  • Kubernetes nesnelerine etiketler eklendi mi?
  • Bir düğümde çalışabilen kapsül sayısı sınırlandı mı?
  • Sistem arka plan programları için ayrılmış işlem kaynakları yapılandırıldı mı?
  • API sunucusu için API istek işleme yapılandırıldı mı?
  • Kaynak kalmaması durumunda yapılacaklar yapılandırıldı mı?
  • PersistentVolumes için önerilen ayarları mı kullanıyorsunuz?
  • Etkinleştirilmiş log döndürme var mı?
  • Kubelet’in etiket anahtarlarını ayarlamasını veya değiştirmesini engellediniz mi?

Güvenlik

  • En son Kubernetes sürümünü mü kullanıyorsunuz?
  • Etkin RBAC (Rol Tabanlı Erişim Kontrolü) var mı?
  • Kullanıcı erişimiyle ilgili en iyi uygulamaları takip ediyor musunuz?
  • Denetim günlüğü etkinleştirildi mi?
  • Kale barındırıcısı mı kuruyorsunuz (Erişim için ara sistem)?
  • Kabul denetleyicisinde AlwaysPullImages etkinleştirildi mi?
  • Pod güvenlik politikası tanımlandı ve kabul denetleyicisinde etkinleştirildi mi?
  • Bir Ağ eklentisi ve yapılandırılmış ağ politikaları mı seçtiniz?
  • Kubelet için kimlik doğrulama uygulandı mı?
  • Kubernetes sırlarını yapılandırdınız mı?
  • Beklemede veri şifrelemeyi etkinleştirdiniz mi?
  • Varsayılan hizmet hesabı devre dışı bırakılsın mı?
  • Güvenlik açıkları için konteynerler tarandı mı?
  • Podlar, konteynerler ve birimler için yapılandırılmış güvenlik bağlamı var mı?
  • Kubernetes loglama etkinleştirildi mi?

Ölçeklendirme

  • Yatak ölçeklendirme yapılandırıldı mı?
  • Dikey ölçeklendirme yapılandırıldı mı?
  • Küme ölçeklendirme yapılandırıldı mı?

Depolama Yönetimi

  • Kalıcı Birimler için Bulut sağlayıcısı tarafından önerilen ayarları kullanın.
  • PVC’yi yapılandırmaya dahil edin ve asla PV kullanmayın.
  • Varsayılan bir depolama sınıfı (StorageClas) oluşturun.
  • Kullanıcıya bir depolama sınıfı sağlayın.
  • Log döndürmeyi etkinleştirin.

İzleme, Uyarı, Kayıt ve Analiz

  • İzleme hattı kuruldu mu?
  • İzlemek için ölçüm listeleri oluşturuldu mu?

CI/CD

  • Sürekli Teslimat için Güvenli CI/CD hatları uygulayın
  • İzlenebilirliği artırmak için onay iş akışıyla GitOps’u etkinleştirin
  • Güvenlik açıklarını test edin, entegre edin ve tarayın
  • Konteyner imajları oluşturun ve kurumsal bir depoda tutun.
  • Denetlenebilirliği artırmak için imajları Git commit SHA ile etiketleyin
  • Kesinti süresini önlemek için rolling update ve/veya mavi-yeşil dağıtım modellerini benimseyin

Ek

  • Uçtan uca test (e2e test) yapıldı mı?
  • Dış servisleri kubernetes içinden erişilecek şekilde tasarladınız mı?

Kaynaklar

  • https://www.weave.works/blog/production-ready-checklist-kubernetes
  • https://www.weave.works/weave-kubernetes-platform-how-to-guide/
  • https://learnk8s.io/production-best-practices
  • https://www.youtube.com/results?search_query=%23KubernetesBestPractices
  • https://www.ecloudcontrol.com/kubernetes-production-readiness-checklist/