1 puan yazan chcv0313 2025-12-26 | 9 yorum | WhatsApp'ta paylaş

Onlarca kişinin ortak kullandığı bir sunucu var.

Herkes kendi projesini container ile servis ediyor,

ancak sunucunun yeniden başlatılması gibi bir sorun yaşandığında yöneticinin bu container’lara nasıl müdahale edeceği belirsiz oluyor.

Herkesten normalde kullandığı Docker container çalıştırma komutunu önceden teslim etmesini isteyip bunu tek tek çalıştırmak mı gerekir,
ya da Docker Compose ile hazırlatıp her proje için klasöre girerek tek tek compose up mı yapmak gerekir gibi sorular var.

Yönetici olarak birden fazla container’ı nasıl yönettiğiniz konusunda tavsiye rica ediyorum.

9 yorum

 
selene 2025-12-29

Ben de tujuc Bey ile benzer düşünüyorum; deneyimli biri olmadan tek başına k8s devreye alıp sorunsuz ve istikrarlı şekilde işletmenin epey riskli olduğunu düşünüyorum.

Ama 4 sunucunun onlarca kişi tarafından ortak kullanıldığı bir durumdan bahsettiğiniz için biraz belirsiz;
buna ilişkili kişi sayısından çok, sunucu programlarının sayısı fazla ve yapı karmaşıksa k8s öğrenmeyi değerlendirmek iyi olabilir.

Eğer ben yazarın durumunda olsaydım, muhtemelen aşağıdaki adımlarla ortamı iyileştirirdim.

  1. Sunucu programları ne zaman kapanırsa kapansın sorun çıkmamasını sağlayacak önlemler alma => graceful shutdown uygulaması, stateless çalışacak şekilde refaktör etme gibi konular dahil. (veya mühendislere talep etme)
  2. Sunucu programlarını containerize etme ve standartlaştırma => Her servis için Dockerfile ve docker compose dosyaları hazırlayıp, aynı komutla çalıştırıldığında mutlaka ayağa kalkmasını zorunlu hale getirme.
  3. Yönetici dışında diğer mühendislerin sunucuya bağlanmasına gerek kalmayacak şekilde yönetim sağlama => Jenkins/GitHub Actions/AWS CodePipeline gibi istediğiniz bir CI/CD platformuyla GitOps benzeri bir yapı kurulabilir. Bu seviye bile sağlansa, mühendisler yeniden dağıtım/yeniden başlatma işlemlerini pipeline'ı tekrar çalıştırma düzeyinde yeterince kontrol edebilir.
  4. Sonrasında, diğerlerinin de söylediği gibi daha ileri seviye iyileştirme (K8s ve ArgoCD gibi araçların devreye alınması)
 
chcv0313 2025-12-31

Yanıt veren herkese teşekkür ederim. Bu yılki hedefimi Kubernetes’i devreye almak olarak belirlemem gerekecek.

 
popopo 2025-12-28

Konteynerleri daemon olarak çalıştırıp işletim sistemi açılırken konteynerlerin de başlamasını sağlamak en pratik yöntemdir.

  • Yeniden başlatmadan önce tek tek düzgün şekilde kapatılmaları da mümkün olur.

EL (Enterprise Linux, yani genel olarak RHEL ailesi) tabanlı sistemlerde konteynerleri systemd servisi olarak kaydedebilirsiniz. Buna Quadlet deniyor.

 
bungker 2025-12-27

Sadece soruya bakınca, depends on, restart always ya da unless stopped ile çözülebilecek gibi görünüyor; ama sanırım soruda yer almayan daha zor bir durum vardır. Yine de ekip birkaç düzine kişiye ulaşıyorsa, eninde sonunda Kubernetes'e geçmeniz gerekecek gibi duruyor.

Soruyu olduğu gibi yapay zekaya sorsanız da cevabı bulabilirsiniz.

 
tujuc 2025-12-27
  1. Altyapıyı nereye kurdunuz? AWS? Kendi sunucunuz mu yoksa sunucu barındırma mı? Azure?
  2. Tek başınıza mı yönetiyorsunuz?
  3. Şu anda hangi durumda çalıştınız ve ne kadarını biliyorsunuz?

Yukarıdaki bilgiler olursa konuşmak daha kolay olur diye düşünüyorum.

Sadece söylediklerinizi baz alarak cevap verecek olursam....

Container çalıştırma komutunun neden gerekli olduğunu bilmiyorum. Bir Compose dosyası hazırlatıp, bunun temel alınarak her şeyi aynı komutla (docker compose komutu) ayağa kaldırabilecek şekilde yapılandırmanız en iyisi olur.

:) Yönetici sizsiniz; öyle yapılmasını söylerseniz diğerleri de yapacaktır, biraz bastırın :)

Bence k8s, tek kişinin yönettiği bir ortamda yükü büyük bir çözüm olduğu için pek tavsiye etmiyorum.
Altyapıyı her zaman mümkün olduğunca basit kurmanın en iyisi olduğunu düşünüyorum.

 
chcv0313 2025-12-27

On-premise 4 sunucu var.
Tek başımayım.
Güvenlik onayından geçildi ve şirkette Docker kullanılmaya başlayalı şimdi 4 ay oldu; k8s hakkında ise yalnızca kavramsal düzeyde bilgim var. Docker için HARBOR kurulumu da yakında benim yapmam gereken bir iş ve Harbor devreye alındıktan sonra Docker Hub engellenecek. Muhtemelen Docker Hub yalnızca bende açık kalacak; talep geldiğinde imajları yalnızca ben Docker Hub'dan alıp şirket içi
Harbor'a yükleyen bir yapı olacak gibi görünüyor.

Compose komutlarıyla her şeyi zorlayarak yürütmeyi, proje bazında klasör klasör dolaşıp tek tek compose up çalıştırmayı gerçekçi bulmadığım için yapmadım; bunun yerine Docker komutlarını mutlak yol ile vermelerini istedim ama son zamanlarda bunun yanlış bir yaklaşım olduğu düşüncesini aklımdan çıkaramıyorum.

 
byun1114 2025-12-27

Docker yeniden başlatma seçeneğini vermek yeterli değil mi?

 
click 2025-12-26

Böyle durumlarda Kubernetes kullanıp her kullanıcıya ayrı bir context atamak daha iyi olur.
Ayrıca yetkileri, her kullanıcının yalnızca ilgili context'i kullanabilmesini sağlayacak şekilde kısıtlamak da mümkündür.

 
cafedead 2025-12-26

k8s kullanın.