Kubernetes En İyi Uygulamaları

Kubernetes En İyi Uygulamaları

2024-03-10 8 min

Kümenizi Güvenli Hale Getirme

Kubernetes'te güvenlik asla sonradan düşünülmemelidir. Varsayılan ayarlar genellikle bir üretim ortamı için çok izin vericidir.

  • RBAC (Rol Tabanlı Erişim Kontrolü): En az ayrıcalık ilkesini izleyin. Yalnızca kesinlikle gerekli olan izinleri verin.
  • Ağ Politikaları: Varsayılan olarak tüm pod'lar birbirleriyle konuşabilir. Trafiği kısıtlamak ve hassas iş yüklerini izole etmek için Ağ Politikalarını kullanın.
  • İmaj Tarama: Konteyner imajlarınızı dağıtmadan önce güvenlik açıklarına karşı tarayın. Trivy veya Clair gibi araçlar CI/CD boru hattınıza entegre edilebilir.

Kaynak Yönetimi

Kubernetes'teki kararsızlığın en yaygın nedenlerinden biri kötü kaynak yönetimidir. Konteynerleriniz için her zaman istek (requests) ve limitler (limits) belirleyin.

Kubernetes Kaynak Yönetimi
resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 200m
    memory: 256Mi

İstekler, bir pod'un ihtiyaç duyduğu kaynakları almasını garanti ederken, Limitler tek bir pod'un tüm düğümün kaynaklarını tüketmesini önler. CPU limitlerine dikkat edin, çünkü kısıtlamaya (throttling) neden olabilirler, ancak bellek limitleri OOMKilled hatalarını önlemek için gereklidir.

Gözlemlenebilirlik

Göremediğiniz şeyi düzeltemezsiniz. İzleme ve loglama, kümenizin sağlığını anlamak için çok önemlidir.

  • Metrikler: Prometheus ve Grafana, metrikleri toplamak ve görselleştirmek için endüstri standardıdır.
  • Loglar: Tüm pod'lardan gelen logları toplamak için ELK Stack (Elasticsearch, Logstash, Kibana) veya Fluentd gibi merkezi bir loglama çözümü kullanın.
  • İzleme (Tracing): Karmaşık mikro hizmet etkileşimlerini hata ayıklamak için dağıtılmış izleme (örneğin, Jaeger veya OpenTelemetry) uygulayın.
Kubernetes Gözlemlenebilirlik Metrikleri