Preflight
ตรวจความพร้อมของแพลตฟอร์มด้วย awhere preflight และวิธีอ่านผลที่ได้
Preflight คือการตรวจว่าโหนดมีทุกอย่างที่ต้องใช้ครบหรือยังก่อนเริ่มทำงาน ได้แก่ การตั้งค่า บริการที่โหนดต้องเชื่อมต่อ และ migration ของฐานข้อมูล Preflight อ่านอย่างเดียว ไม่แก้อะไร จึงรันกับแพลตฟอร์มที่มีคนใช้งานอยู่ได้ โหนดจะรัน Preflight เองทุกครั้งที่เริ่มทำงาน และ awhere setup กับ awhere upgrade ก็รันให้ก่อนเสมอ
รัน Preflight
awhere preflightผลที่ได้มีหนึ่งแถวต่อโหนด ตามด้วยการตรวจที่ไม่ผ่านพร้อมวิธีแก้ บรรทัดสุดท้ายจะเป็น Preflight passed หรือ Preflight failed ถ้าไม่มีโหนดไหนตรวจไม่ผ่าน คำสั่งจะจบด้วย exit code 0 ถ้าจะตรวจโหนดเดียว ให้ใส่ชื่อโหนด เช่น awhere preflight core-services
ควรรัน Preflight ก่อน deploy ครั้งแรก หลังแก้การตั้งค่า และเมื่อโหนดไม่ยอมเริ่มทำงาน เพราะจะเห็นปัญหาทั้งหมดในครั้งเดียว
อ่านผลที่ได้
ตัวอย่างผลของ logging-services ที่ยังไม่ได้ตั้งค่าอะไรเลย (ตัดบางแถวออก)
preflight: logging-services
FAIL env.TRANSPORTER TRANSPORTER is not set
fix: Set TRANSPORTER to the broker every node of this site shares (nats://<host>:4222, or TCP on a single host): without it this node cannot see the others.
PASS env.PORT PORT is not set (optional)
WARN release this image has no Release number (APP_VERSION is unset): it was not built by CI
preflight: logging-services: 1 passed, 1 warning, 1 failedแต่ละแถวคือการตรวจหนึ่งข้อ เริ่มด้วยผลการตรวจ ตามด้วยชื่อการตรวจ และสิ่งที่พบ ถ้าผลเป็น WARN หรือ FAIL บรรทัดถัดไปจะมี fix: บอกว่าต้องแก้อย่างไร ผลที่พิมพ์ออกมาจะไม่แสดงรหัสผ่าน ดูชื่อการตรวจทั้งหมดได้ที่การตรวจทั้งหมดของ Preflight
| ผลการตรวจ | ความหมาย |
|---|---|
FAIL | โหนดทำงานอย่างปลอดภัยไม่ได้ ในระบบจริงโหนดจะไม่ยอมเริ่มทำงานจนกว่าจะแก้ |
WARN | โหนดเริ่มทำงานได้ แต่จะเตือนไว้หนึ่งครั้ง |
PASS | ผ่าน ไม่ต้องทำอะไร |