ฉันรู้ว่านี่เป็นเธรดเก่า แต่การแก้ปัญหานั้นง่ายกว่าคำตอบส่วนใหญ่ที่นี่ทำให้เป็น
วิธีอัปเดตคอนเทนเนอร์ที่รันอยู่ในสองขั้นตอน:
ด้านล่างจะถือว่าคุณมีบริการที่ทำงานซึ่งอ้างอิงถึงแท็กคอนเทนเนอร์latest
(หรือแท็กสแตติกอื่น ๆ ที่ไม่เปลี่ยนแปลงการปรับปรุงคอนเทนเนอร์)
- อัปโหลดคอนเทนเนอร์ใหม่ของคุณไปยังที่เก็บ
- ฆ่างานของคุณด้วยตนเอง
หากเป้าหมายของเราคือการสร้างสิ่งใหม่ออกมาสู่ป่าเราไม่จำเป็นต้องพึ่งพาบริการของเราสำหรับสิ่งนั้น (และฉันขอเถียงว่าเราไม่ควรไว้ใจมัน) หากคุณฆ่างานของคุณบริการจะรับรู้ว่าไม่มีDesired Count
งานที่ทำงานอยู่และเพียงแค่หมุนงานใหม่ วิธีนี้จะทริกเกอร์คอนเทนเนอร์ของคุณอีกครั้งโดยใช้แท็กเดียวกัน
บริการ ECS คือ HA ความปลอดภัยสุทธิไม่ใช่สิ่งทดแทน CD / CI ไปป์ไลน์ของคุณ
โบนัส:หากเป้าหมายคือการให้บริการรับรู้ว่ามีการผลักคอนเทนเนอร์ใหม่ (โดยไม่คำนึงถึงแท็ก) เราต้องพิจารณาความหมายของสิ่งนั้น เราต้องการบริการพื้นฐานที่ควบคุมการวางระบบของเราหรือไม่? น่าจะไม่ เป็นการดีที่คุณจะผลักภาชนะของคุณด้วยแท็กที่แตกต่างกัน (ขึ้นอยู่กับรุ่นที่วางจำหน่ายหรือบางสิ่งบางอย่าง) ในกรณีนี้อุปสรรคในการปรับใช้คือบริการจะต้องได้รับแจ้งเกี่ยวกับสิ่งใหม่ - อีกครั้งมันเป็นเครือข่ายความปลอดภัยสำหรับบริการและไม่มีอะไรเพิ่มเติม
วิธีปรับใช้แท็กใหม่ในสามขั้นตอน:
- อัปโหลดใหม่ของคุณ
container:tag
ไปยังที่เก็บ
- สร้างคำนิยามภารกิจใหม่โดยอ้างอิงถึงภารกิจใหม่
tag
- อัปเดตบริการของคุณเพื่ออ้างอิงคำจำกัดความงานใหม่
- ระวังที่นี่! หากคุณได้
minimum healthy
กำหนดให้0%
เป็นคำตอบอื่น ๆ ที่แนะนำคุณจะให้สิทธิ์อย่างเต็มรูปแบบกับ AWS ในการฆ่าบริการทั้งหมดของคุณเพื่อปรับใช้ข้อกำหนดงานใหม่ หากคุณต้องการการปรับใช้แบบกลิ้ง / ทยอยให้ตั้งค่าขั้นต่ำของคุณเป็นอย่าง>0%
อื่น
- อีกทางหนึ่งคือตั้งค่าของคุณ
minimum healthy
เป็น100%
และmaximum healthy
บางสิ่งบางอย่าง>100%
เพื่อให้บริการของคุณสามารถปรับใช้งานใหม่ก่อนที่จะกำจัดงานเก่า (ลดผลกระทบต่อผู้ใช้ของคุณ)
จากจุดนี้บริการของคุณจะรับรู้โดยอัตโนมัติว่าคุณได้ระบุงานใหม่และดำเนินการปรับใช้ตามเกณฑ์minimum
/ maximum
Healthy ที่คุณได้กำหนดค่าไว้