คู่มือ aWhere
ติดตั้งและดูแลแพลตฟอร์ม

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ผ่าน ไม่ต้องทำอะไร

ในหน้านี้