Pain point หนึ่งของการใช้งาน NGINX OSS คือไม่สามารถทำ Automation ได้
เช่น ถ้าเราต้องการเพิ่ม LB pool member จะต้องเข้าไปที่ NGINX Node และ Edit configuration แบบ manual
ถ้าต้องการ Automate, สิ่งที่พอจะทำได้คือการส่งไฟล์ Configuration ไปยังเครื่องโดยตรง เช่นการใช้ scp จากนั้นทำการ reload เพื่อ apply new configuration
NGINX ออก tools ตัวใหม่ชื่อ NGINX Instance Manager (https://www.nginx.com/blog/introducing-nginx-instance-manager) โดยสามารถแก้ไข Configuration files ผ่าน GUI ได้ รวมถึง Deploy ผ่าน API ก็ทำได้
1.ติดตั้ง NGINX Instance Manager https://my.f5.com
หน้าจอหลังติดตั้ง
2.เช็ค Instance หรือ NGINX ที่เรา Manage
จะเห็น NGINX Instance 2 nodes
3.ใช้ instance_id เพื่อเรียกดู Configuration จาก node แรก, ไฟล์ถูก Encode ไว้ด้วย base64
ทดสอบ Decode ด้วยคำสั่ง base64 -d จะได้ไฟล์ nginx.conf ที่เราคุ้นเคย
4.ทดสอบเพิ่ม LB ตัวใหม่ โดยให้ Listen ที่พอร์ต 8080 และให้ Proxy ไปที่หน้า Welcome to NGINX, จากนั้นแปลง configuration ให้อยู่ในรูปแบบ base64
5.ทำการยิง Configuration จากข้อ 4 โดยการ POST ไปที่ Instance Manager
เมื่อได้รับ Status code: 200 OK, และ err เป็น String ว่าง แสดงว่าทำการเพิ่ม Configuration สำเร็จ
ุ
6.ทำการ Analyze Configuration พบว่าไม่มี Error, error_count = 0
7.Publish Configuration ไปที่ NGINX Instance(NGINX Node)พร้อม apply
8.เรียกดู Configuration ด้วยวิธีการเดียวกับข้อ 3, พบว่า Configuration ใหม่ถูกเพิ่มเข้าไปแล้ว
9.ทดสอบใช้งาน พบว่าสามารถใช้ :8080 ได้แล้วครับ
สามารถทำ Automate deployment กับ NGINX OSS พร้อมๆ กัน โดยผ่านทาง NGINX Instance Manager API ได้ครับ
ทั้งหมดข้างต้น ถ้าเราไม่ทำผ่าน API สามารถทำผ่าน GUI ก็ได้เช่นกัน
Top comments (0)