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
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.
graceful shutdownuygulaması,statelessçalışacak şekilde refaktör etme gibi konular dahil. (veya mühendislere talep etme)Dockerfilevedocker composedosyaları hazırlayıp, aynı komutla çalıştırıldığında mutlaka ayağa kalkmasını zorunlu hale getirme.Yanıt veren herkese teşekkür ederim. Bu yılki hedefimi Kubernetes’i devreye almak olarak belirlemem gerekecek.
Konteynerleri daemon olarak çalıştırıp işletim sistemi açılırken konteynerlerin de başlamasını sağlamak en pratik yöntemdir.
EL (Enterprise Linux, yani genel olarak RHEL ailesi) tabanlı sistemlerde konteynerleri
systemdservisi olarak kaydedebilirsiniz. Buna Quadlet deniyor.Sadece soruya bakınca,
depends on,restart alwaysya daunless stoppedile çö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.
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 composekomutu) 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.
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;
k8shakkı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çiHarbor'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.Docker yeniden başlatma seçeneğini vermek yeterli değil mi?
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.
k8s kullanın.