CLI Tutorial: Container Redeploy

ในคู่มือนี้เราจะแสดงวิธีการ redeploy คอนเทนเนอร์ใหม่จากแท็ก image หนึ่งไปยังอีกแท็กหนึ่ง หากจำเป็นตัวเลือกนี้จะรองรับการปรับใช้เลเยอร์ทั้งหมด

1. ขั้นตอนแรกค้นหาชื่อ envionment และ node ID/layer ของคอนเทนเนอร์ที่ควร redeploy ใหม่คุณสามารถดูข้อมูลที่จำเป็นผ่านแดชบอร์ดหรือใช้เมธอด GetEnvs และ GetEnvInfo เพื่อรับข้อมูลโดยตรงจากเทอร์มินัล (สำหรับ environment ทั้งหมดหรือตามลำดับ)

cli get environment names and info

คุณจะได้รับข้อมูลของ environment – layer namesnode IDsDocker imagestags, ฯลฯ

2. เมื่อคุณมี ID ของคอนเทนเนอร์และเลเยอร์ (ชื่อ nodeGroup) คุณสามารถดูรายการแท็กที่มีให้สำหรับ image โดยใช้เมธอด GetContainerNodeTags พร้อมกับพารามิเตอร์ชื่อ environment และ node ID:

~/jelastic/environment/control/getcontainernodetags --envName {envName} --nodeId {nodeId}
cli view available tags for node

ในกรณีของเราจะแสดงรายการแท็กสำหรับ 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 ไว้ภายในคอนเทนเนอร์ที่อัปเดต (ไม่บังคับ)
cli redeploy containers

กระบวนการนี้อาจใช้เวลาหลายนาทีและจะตอบสนองด้วย result: “0” (การดำเนินการสำเร็จ) รวมถึงเวอร์ชันก่อนและหลังปรับใช้ใหม่ ตลอดจนระยะเวลาของการอัปเดตคอนเทนเนอร์แต่ละรายการ