Hocam selamalar, mevcutta çalışan bir container’a update geçerken mevcut session açık kullanıcı tarafından kullanıyorsa, update işlem sürecini nasıl yapıyor session bitmesinimi bekliyor yoksa direk session sonlandırılıp update işlemimi başlıyor. Örnek vermek gerekirse bir banka müşterisi işlemdeyken o müşteri session kapatana kadar docker update sürecini bekletiyor mu?
Merhaba, container’a update geçmekten kastınız nedir? Containera bağlanıp bir update gerçekleştirmek mi?
Container’a update geçmekten kastım aslında mevcut container’da çalışan uygulamanın güncellenmesi durumunda bir banka uygulamasında son kullanıcı işlemde iken güncelleme sürecini merak ediyorum.
Bu durum sizin uygulamanızın nasıl yazıldığına ve container’ı deploy ettiğiniz platforma göre değişir. Kubernetes üstünden örneklemek gerekirse, siz kubernetes üstünde deployment objesi olarak deploy ettiğiniz bir container’ı kapatmak isterseniz Kubernetes, bu container’a bir SIGTERM sinyali gönderir ve düzgün bir şekilde kapanması için belirli bir süre (varsayılan olarak 30 saniye) bekler. Zamanında kapanmazsa, uygulama SIGKILL aracılığıyla sonlandırılır. Uygulamanız bu SIGTERM sinyalini algılayabiliyorsa yaptığı işi bitirmeden container’ı kapatmaz. Dolayısıyla siz prod’a deploy ettiğiniz bir uygulamayı yeni bir imaj ile güncellemek isterseniz kubernetes önce yeni versiyondan bir container ayağa kaldırır, o sırada eski container’a yeni istek göndermeleri durdurur ve SIGKILL gönderir. Container “daha doğrusu container içinde çalışan uygulama” bu komutu aldıktan sonra eğer buna cevap verecek şekilde dizayn edildiyse üstündeki işlemleri bitirmek için çalışmaya devam eder. İşlemler bitince de kendini kapatır. Süreç temel olarak böyle işlemektedir.
Cevap için teşekkürler.