ในคู่มือนี้เราจะแสดงวิธีการ redeploy คอนเทนเนอร์ใหม่จากแท็ก image หนึ่งไปยังอีกแท็กหนึ่ง หากจำเป็นตัวเลือกนี้จะรองรับการปรับใช้เลเยอร์ทั้งหมด
1. ขั้นตอนแรกค้นหาชื่อ envionment และ node ID/layer ของคอนเทนเนอร์ที่ควร redeploy ใหม่คุณสามารถดูข้อมูลที่จำเป็นผ่านแดชบอร์ดหรือใช้เมธอด GetEnvs และ GetEnvInfo เพื่อรับข้อมูลโดยตรงจากเทอร์มินัล (สำหรับ environment ทั้งหมดหรือตามลำดับ)
คุณจะได้รับข้อมูลของ environment – layer names, node IDs, Docker images, tags, ฯลฯ
2. เมื่อคุณมี ID ของคอนเทนเนอร์และเลเยอร์ (ชื่อ nodeGroup) คุณสามารถดูรายการแท็กที่มีให้สำหรับ image โดยใช้เมธอด GetContainerNodeTags พร้อมกับพารามิเตอร์ชื่อ environment และ node ID:
~/jelastic/environment/control/getcontainernodetags --envName {envName} --nodeId {nodeId}
ในกรณีของเราจะแสดงรายการแท็กสำหรับ redis
3. ตอนนี้คุณจะมีข้อมูลทั้งหมดที่จำเป็นสำหรับการ redeploy คอนเทนเนอร์ใหม่ผ่าน CLI แล้วเรียกใช้เมธอด RedeployContainers
~/jelastic/environment/control/redeploycontainers --envName {envName} [--nodeGroup {nodeGroup}] [--nodeId {nodeId}] --tag {tag} [--useExistingVolumes {useExistingVolumes}] [--login {login}] [--password {password}]
โดยใช้พารามิเตอร์ต่อไปนี้:
- {envName} – ชื่อ environment ที่จะปรับใช้คอนเทนเนอร์ใหม่
- {nodeGroup} – ระบุเลเยอร์ของ environment ที่จะอัปเดต (ไม่บังคับ)
- {nodeId} – ระบุจำนวนคอนเทนเนอร์สำหรับการปรับใช้ใหม่โดยเฉพาะ (ไม่บังคับ)
หมายเหตุ: คุณต้องระบุพารามิเตอร์ {nodeGroup} หรือ {nodeId} เพื่อกำหนดเป้าหมายในการดำเนินการ โดยเมธอดจะละเว้น {nodeGroup} หากมีการระบุทั้งคู่และจะล้มเหลวหากไม่มีการระบุ
- {tag} – เวอร์ชันของ image ที่จะปรับใช้
- {useExistingVolumes} – ตั้งค่าเป็น true เพื่อเก็บข้อมูลไว้ใน volumes ที่ mount ไว้ภายในคอนเทนเนอร์ที่อัปเดต (ไม่บังคับ)
กระบวนการนี้อาจใช้เวลาหลายนาทีและจะตอบสนองด้วย result: “0” (การดำเนินการสำเร็จ) รวมถึงเวอร์ชันก่อนและหลังปรับใช้ใหม่ ตลอดจนระยะเวลาของการอัปเดตคอนเทนเนอร์แต่ละรายการ