กงสุล - การสืบค้นโหนด

ในบทนี้เราจะเรียนรู้วิธีการค้นหาโหนดด้วยฟังก์ชันต่อไปนี้ -

  • ใช้ขุด
  • ใช้คำสั่ง Monitor
  • ใช้คำสั่ง Watch
  • โดยการลงทะเบียนบริการภายนอก

ให้เราเข้าใจรายละเอียดของแต่ละฟังก์ชันเหล่านี้

ใช้ Dig

กงสุลรับฟัง 127.0.0.1:8600 เพื่อสอบถาม DNS ในกงสุล วิธีพิจารณาว่าโหนดใดพร้อมใช้งานเพื่อให้บริการคือการใช้การตรวจสอบที่สามารถเป็นได้ -

  • สคริปต์ที่ถูกเรียกใช้งานและส่งกลับไฟล์ nagios compliant code.

  • การตรวจสอบ HTTP ที่ส่งคืนรหัสตอบกลับ HTTP

  • การตรวจสอบ TCP ที่กำลังตรวจสอบว่าพอร์ตเปิดอยู่หรือไม่

คำสั่งทั่วไปสำหรับการทดลองใช้ dig คือ -

$ dig @127.0.0.1 -p <port> <service-name>.consul

ตอนนี้ให้เราลองใช้ตัวอย่าง dig คำสั่ง -

$ dig @127.0.0.1 -p 8600 web.service.consul

ผลลัพธ์จะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้

การใช้คำสั่ง Monitor

ใช้เพื่อเชื่อมต่อและแสดงบันทึกของตัวแทนกงสุลที่รันอยู่ คำสั่งนี้จะแสดงบันทึกล่าสุด นอกจากนี้ยังช่วยให้คุณสามารถบันทึกเอเจนต์ในระดับการบันทึกที่ค่อนข้างสูง ประกอบด้วยระดับการบันทึกต่างๆซึ่งคุณสามารถติดตามได้เช่น - Trace, Debug, Info, Warn และ Err

ให้เราลองใช้คำสั่งต่อไปนี้ -

$ consul monitor

ผลลัพธ์จะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้

คุณยังสามารถตั้งค่าคำสั่งมอนิเตอร์โดยใช้คำสั่งย่อยเช่น -log-level และ -rpc-address ตามค่าเริ่มต้นที่อยู่ของ RPC คือ 127.0.0.1:8400 สำหรับข้อมูลเพิ่มเติมคลิกที่นี่

การใช้คำสั่ง Watch

คำสั่งนี้มีกลไกในการเฝ้าดูการเปลี่ยนแปลงในรายการโหนดสมาชิกบริการค่าคีย์ ฯลฯ นอกจากนี้ยังเรียกใช้กระบวนการที่มีค่าล่าสุดของมุมมอง หากไม่ได้ระบุกระบวนการค่าปัจจุบันจะถูกประมวลผลเป็นSTDOUTซึ่งอาจเป็นวิธีที่มีประโยชน์ในการตรวจสอบข้อมูลในกงสุล คำสั่ง Consul Watch Command มีตัวเลือกต่างๆมากมายดังที่แสดงในภาพหน้าจอต่อไปนี้ -

ให้เราลองสาธิตด้วย -type = service ดังแสดงในคำสั่งต่อไปนี้

$ consul watch -type = service -service = consul

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้คุณสามารถคลิกที่นี่

โดยการลงทะเบียนบริการภายนอก

เมื่อลงทะเบียนแล้วอินเทอร์เฟซ DNS จะสามารถส่งคืน 'A Records' หรือ CNAME Records ที่เหมาะสมสำหรับบริการได้ ให้เราลงทะเบียนบริการภายนอกเช่น Amazon ตามที่แสดงในบล็อกรหัสต่อไปนี้และภาพหน้าจอด้วย

$ sudo curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon",
"Address": "www.amazon.com",
"Service": {"Service": "shop", "Port": 80}}'
http://127.0.0.1:8500/v1/catalog/register

คำสั่งดังกล่าวระบุบริการที่เรียกว่าร้านค้า โหนดนี้เรียกว่า amazon โดยมี URL อยู่ที่www.amazon.comบนพอร์ต 80 ให้เราตรวจสอบผลลัพธ์ในกงสุลเพื่อให้แน่ใจว่าเราได้ติดตั้งบริการนี้อย่างถูกต้อง สำหรับสิ่งนี้โปรดเปิดหน้าต่างเบราว์เซอร์ที่ localhost: 8500

ในการลบบริการเราสามารถใช้คำสั่งต่อไปนี้

$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister

ให้เราตรวจสอบ UI ตามที่แสดงในภาพหน้าจอต่อไปนี้