วิธีกําหนดค่า Edge

Edge สำหรับ Private Cloud เวอร์ชัน 4.17.05

หากต้องการกำหนดค่า Edge หลังการติดตั้ง ให้ใช้ไฟล์ .properties และยูทิลิตี Edge ร่วมกัน เช่น หากต้องการกำหนดค่า TLS/SSL ใน Edge UI คุณต้องแก้ไขไฟล์ .properties เพื่อตั้งค่าพร็อพเพอร์ตี้ที่จำเป็น การเปลี่ยนแปลงไฟล์ .properties กำหนดให้คุณต้องรีสตาร์ทคอมโพเนนต์ Edge ที่ได้รับผลกระทบ

Apigee คือเทคนิคของการแก้ไขไฟล์ .properties เป็นโค้ดที่มีการกำหนดค่า โดยพื้นฐานแล้ว โค้ดที่มี config คือเครื่องมือค้นหาคีย์/ค่าที่อิงตามการตั้งค่าในไฟล์ .properties ในโค้ดที่มีการกำหนดค่า คีย์จะเรียกว่าโทเค็น ดังนั้น หากต้องการกำหนดค่า Edge คุณก็ตั้งค่าโทเค็นในไฟล์ .properties

โค้ดที่มีการกำหนดค่าจะช่วยให้คอมโพเนนต์ Edge กำหนดค่าเริ่มต้นที่จัดส่งพร้อมผลิตภัณฑ์ได้ และให้ทีมติดตั้งลบล้างการตั้งค่าเหล่านั้นตามโทโพโลยีการติดตั้ง และให้ลูกค้าลบล้างพร็อพเพอร์ตี้ที่เลือกได้

หากคิดว่าเป็นลำดับชั้น การตั้งค่าจะจัดเรียงตามการตั้งค่าของลูกค้าที่มีลำดับความสำคัญสูงสุดในการลบล้างการตั้งค่าจากทีมติดตั้งหรือ Apigee เช่นกัน

  1. ลูกค้า
  2. ผู้ติดตั้ง
  3. Apigee

วิธีใช้ไฟล์ .properties

ในฐานะลูกค้า คุณจะแก้ไขได้เฉพาะไฟล์ .properties ในไดเรกทอรี /opt/apigee/customer/application เท่านั้น คอมโพเนนต์แต่ละรายการจะมีไฟล์ .properties ของตัวเองในไดเรกทอรีนั้น เช่น router.properties และ management-server.properties

  1. สร้างไฟล์ในเครื่องมือแก้ไขในฐานะผู้ใช้ใดก็ได้
  2. กำหนดเจ้าของไฟล์เป็น apigee:apigee หรือในกรณีที่เปลี่ยนผู้ใช้ที่เรียกใช้บริการ Edge จากผู้ใช้ apigee ให้เปลี่ยนชื่อไฟล์เป็นผู้ใช้ที่ใช้งานบริการ Edge

หากต้องการตั้งค่าพร็อพเพอร์ตี้สำหรับคอมโพเนนต์ ให้แก้ไขไฟล์ .properties ที่เกี่ยวข้องเพื่อตั้งค่าโทเค็น จากนั้นรีสตาร์ทคอมโพเนนต์ ดังนี้

> /opt/apigee/apigee-service/bin/apigee-service component restart

ตัวอย่างเช่น หลังจากแก้ไข router.properties ให้รีสตาร์ทเราเตอร์

> /opt/apigee/apigee-service/bin/apigee-service edge-router restart

เมื่อคุณอัปเกรด Edge ระบบจะอ่านไฟล์ .properties ในไดเรกทอรี /opt/apigee/customer/application ซึ่งหมายความว่าการอัปเกรดจะยังคงเก็บพร็อพเพอร์ตี้ที่คุณตั้งค่าไว้ในคอมโพเนนต์ไว้

ตำแหน่งของไฟล์ .properties

มีไดเรกทอรีระดับบนสุด 3 รายการสำหรับไฟล์ .properties สำหรับคอมโพเนนต์ Edge ได้แก่ เจ้าของการติดตั้งและลูกค้า ตำแหน่งเริ่มต้นแสดงในตารางต่อไปนี้

คำเตือน: ลูกค้า Edge จะแก้ไขได้เฉพาะไฟล์ .properties ในส่วน /opt/apigee/customer เท่านั้น แม้ว่าคุณจะดูไฟล์ในคอมโพเนนต์และไดเรกทอรีการติดตั้งได้ โปรดอย่าแก้ไขไฟล์ใดๆ

เจ้าของ

ไดเรกทอรีรากโทเค็นเริ่มต้น

ส่วนประกอบ

/opt/apigee/<prefix>-<component>/conf

โดยที่ /<prefix>-<component> ระบุคอมโพเนนต์ เช่น edge-router หรือ apigee-cassandra

การติดตั้ง

/opt/apigee/token

ลูกค้า

/opt/apigee/customer

การกำหนดค่าปัจจุบันของโทเค็น

ก่อนที่จะตั้งค่าโทเค็นในไฟล์ .properties สำหรับคอมโพเนนต์ คุณสามารถกำหนดค่าปัจจุบันของโทเค็นได้โดยใช้คำสั่งต่อไปนี้

> /opt/apigee/apigee-service/bin/apigee-service comp configure -search token

โดย comp คือชื่อของคอมโพเนนต์ และ token คือโทเค็นที่ต้องตรวจสอบ

คำสั่งนี้จะค้นหาลำดับชั้นของไฟล์ .properties เพื่อระบุค่าปัจจุบันของโทเค็น

เช่น หากต้องการตรวจสอบค่าปัจจุบันของโทเค็น conf_http_HTTPRequest.line.limit สำหรับเราเตอร์ ให้ทำดังนี้

> /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

คุณควรเห็นเอาต์พุตในรูปแบบต่อไปนี้

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

การตั้งค่าโทเค็นในไฟล์ .properties

วิธีลบล้างค่าของโทเค็น

  1. แก้ไขไฟล์ .properties สำหรับคอมโพเนนต์เพื่อตั้งค่าโทเค็น หากไม่มีไฟล์ ให้สร้างขึ้นมา
  2. รีสตาร์ทคอมโพเนนต์
  3. โปรดตรวจสอบค่าโทเค็น

เช่น หากต้องการกำหนดบรรทัดคำขอสูงสุดสำหรับเราเตอร์ Edge ให้ทำดังนี้

  1. แก้ไขไฟล์ /opt/apigee/customer/application/router.properties เพื่อตั้งค่าโทเค็น conf_http_HTTPRequest.line.limit ดังนี้

    conf_http_HTTPRequest.line.limit=8k
  2. รีสตาร์ทเราเตอร์ Edge โดยทำดังนี้

    > /opt/apigee/apigee-service/bin/apigee-service edge-routerควรมีรีสตาร์ท
  3. ตรวจสอบค่าของโทเค็น ดังนี้

    > /opt/apigee/apigee-service/bin/apigee-service edge-routerconfigure -search conf_http_HTTPRequest.line.limit

การตั้งค่าโทเค็นที่ใช้หลายค่า

โทเค็นบางรายการจะใช้รายการค่าที่คั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น โทเค็น conf_security_rbac.restricted.resources จะบันทึกรายการ URI ที่ถูกจำกัดเพื่อให้เฉพาะผู้ดูแลระบบเท่านั้นที่เรียกใช้ได้ หากต้องการดูค่าของ conf_security_rbac.restricted.resources ให้ทำดังนี้

> cd /opt/apigee/edge-management-server
> grep -ri "conf_security_rbac.restricted.resources" *

โดยเอาต์พุตจะมีข้อมูลดังต่อไปนี้

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

หากต้องการตั้งค่าโทเค็นที่ใช้รายการค่า ให้เพิ่มค่าใหม่ต่อท้ายค่าปัจจุบันของโทเค็นในไฟล์ .properties ดังนั้น หากต้องการเพิ่ม URI /myuri/* ลงใน conf_security_rbac.restricted.resources ให้แก้ไขไฟล์ /opt/apigee/customer/application/management-server.properties ดังที่แสดงด้านล่าง

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

การค้นหาโทเค็น

ในกรณีส่วนใหญ่ โทเค็นที่คุณต้องตั้งค่าจะระบุอยู่ในคู่มือนี้ อย่างไรก็ตาม หากต้องการระบุโทเค็นที่ใช้ลบล้างพร็อพเพอร์ตี้ ให้ใช้ grep ในโฟลเดอร์ source ของคอมโพเนนต์

เช่น หากทราบว่าใน Edge รุ่นก่อนหน้านั้น คุณตั้งค่าพร็อพเพอร์ตี้ session.maxAge และต้องการทราบค่าโทเค็นที่ใช้ตั้งค่า ให้ใช้ grep สําหรับพร็อพเพอร์ตี้ในไดเรกทอรี /opt/apigee/edge-ui/source ดังนี้

> grep -ri "session.maxAge" /opt/apigee/edge-ui/source

คุณควรเห็นผลลัพธ์ในแบบฟอร์ม

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

สตริงระหว่างแท็ก {T}{/T} คือโทเค็นที่คุณตั้งค่าไว้ในไฟล์ .properties

การตั้งค่าโทเค็นที่มีการแสดงความคิดเห็นอยู่ในขณะนี้

โทเค็นบางรายการจะมีการแสดงความคิดเห็นไว้ในไฟล์การกำหนดค่า Edge หากคุณพยายามตั้งค่าโทเค็นที่มีการแสดงความคิดเห็นไว้ ระบบจะไม่สนใจการตั้งค่าดังกล่าว

หากต้องการตั้งค่าโทเค็นที่มีการแสดงความคิดเห็น ให้ใช้ไวยากรณ์พิเศษในรูปแบบต่อไปนี้

conf/file.extension+propertyName=propertyValue

ตัวอย่างเช่น คุณต้องการตั้งค่าพร็อพเพอร์ตี้ชื่อ HTTPClient.proxy.host ในตัวประมวลผลข้อความ จากนั้นใช้ grep เพื่อให้พร็อพเพอร์ตี้ระบุโทเค็นด้วยคำสั่งต่อไปนี้

> cd /opt/apigee/edge-message-processor
> grep -ri "HTTPClient.proxy.host" *

คำสั่ง grep จะแสดงผลลัพธ์ในแบบฟอร์มที่มีค่าโทเค็น สังเกตลักษณะการแสดงชื่อพร็อพเพอร์ตี้ตามที่ระบุด้วยคำนำหน้า # ในชื่อพร็อพเพอร์ตี้

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

หากต้องการตั้งค่าพร็อพเพอร์ตี้ ให้แก้ไข /opt/apigee/customer/application/message-processor.properties เพื่อตั้งค่าพร็อพเพอร์ตี้เป็น

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

สังเกตลักษณะที่ชื่อพร็อพเพอร์ตี้นำหน้าด้วย conf/http.properties+ ตำแหน่งและชื่อของไฟล์การกำหนดค่าที่มีพร็อพเพอร์ตี้ตามด้วย "+"

หลังจากที่รีสตาร์ทโปรแกรมประมวลผลข้อความ ให้ตรวจสอบไฟล์ /opt/apigee/edge-message-processor/conf/http.properties

> cat /opt/apigee/edge-message-processor/conf/http.properties

ที่ท้ายไฟล์ คุณจะเห็นชุดพร็อพเพอร์ตี้ในรูปแบบดังนี้

conf/http.properties:HTTPClient.proxy.host=myhost.name.com