Bunun eski bir konu olduğunu biliyorum, ancak çözüm buradaki cevapların çoğundan daha kolay.
Çalışan konteyner nasıl iki adımda güncellenir:
Aşağıda, etiketli bir kaba latest
(ya da konteyner güncellemelerinde değişiklik göstermeyen başka bir statik etikete) değinen bir görevi çalıştıran bir hizmetiniz olduğu varsayılmaktadır .
- Yeni konteynerinizi depoya yükleyin
- Görevlerinizi manuel olarak öldürün
Eğer hedef vahşi doğada yeni bir yapı kazanmamız için ise, bunun için hizmetimize güvenmemize gerek yok (ve tartışmalıyım, buna güvenmemeliyiz). Görevinizi öldürürseniz, hizmetin Desired Count
çalışan görevleri olmadığını ve yalnızca yenisini açacağını anlar . Bu, aynı etikete göre kabınızın yeniden çekilmesini tetikler.
ECS hizmetleri, HA güvenlik ağıdır, CD / CI boru hattınızın yerine geçmez .
Bonus: Eğer amaç bir servisin yeni bir konteynerin ittiğini (etiketlerden bağımsız olarak) tanımaksa, bunun sonuçlarını düşünmemiz gerekir. Dağıtım hattımızı bizim için kontrol eden temel bir hizmet istiyor muyuz? Muhtemelen hayır. İdeal olarak, kaplarınızı farklı etiketlerle (sürüm sürümlerine veya benzeri şeylere dayanarak) iteceksiniz. Bu durumda, konuşlandırmanın önündeki engel, hizmetin yeni bir şeyden haberdar edilmesi gerektiğidir - tekrar, bu hizmet için bir güvenlik ağıdır ve başka bir şey yoktur.
Yeni etiketler üç adımda nasıl dağıtılır:
- Yenisini
container:tag
depoya yükle
- Yenisini referans alan yeni bir görev tanımı oluşturun
tag
- Yeni görev tanımına referans vermek için hizmetinizi güncelleyin
- Burada dikkatli ol! Eğer varsa
minimum healthy
ayarlı 0%
diğer bazı cevaplar önerdiği gibi, sen aws yeni bir görev tanımı dağıtmak amacıyla tüm hizmet öldürmek için tam yetki veriyoruz. Yuvarlanma / kademeli dağıtımı tercih ediyorsanız, minimum seviyenizi bir şeye ayarlayın >0%
.
- Alternatif olarak, senin ayarlamak
minimum healthy
için 100%
ve sizin maximum healthy
bir şey için >100%
servis dağıtmak için izin yeni (kullanıcılarınıza etkisini en aza indirmek) eskileri kapalı öldürmeden önce görevleri.
Bu noktadan itibaren, servisiniz yeni bir görev belirlediğinizi otomatik olarak tanır ve yapılandırdığınız minimum
/ maximum
sağlıklı eşikleri temel alarak bunu dağıtmaya çalışır .