Cách định cấu hình Edge

Edge for Private Cloud phiên bản 4.18.05

Để định cấu hình Edge sau khi cài đặt, bạn sử dụng tổ hợp các tệp .properties và các tiện ích Edge. Ví dụ: để định cấu hình TLS/SSL trên Giao diện người dùng Edge, bạn chỉnh sửa .properties tệp để đặt các thuộc tính cần thiết. Các thay đổi đối với Các tệp .properties yêu cầu bạn khởi động lại thành phần Edge bị ảnh hưởng.

Apigee đề cập đến kỹ thuật chỉnh sửa tệp .properties dưới dạng mã có config. Về cơ bản, mã có cấu hình là một công cụ tra cứu khoá/giá trị dựa trên các chế độ cài đặt trong các tệp .properties. Trong mã có cấu hình, các khoá được gọi là mã thông báo. Do đó, để định cấu hình Edge, bạn cần đặt mã thông báo trong .properties tệp.

Mã có cấu hình cho phép các thành phần Edge đặt các giá trị mặc định được vận chuyển cùng với sản phẩm, hãy cho phép nhóm cài đặt ghi đè các cài đặt đó dựa trên cấu trúc liên kết cài đặt, rồi cho phép khách hàng ghi đè mọi tài sản mà họ chọn.

Nếu bạn coi đây là một hệ thống phân cấp, thì cài đặt được sắp xếp như sau với các chế độ cài đặt có mức độ ưu tiên cao nhất để ghi đè mọi chế độ cài đặt của nhóm cài đặt hoặc Apigee:

  1. Khách hàng
  2. Trình cài đặt
  3. Apigee

Cách sử dụng tệp .properties

Là khách hàng, bạn chỉ có thể sửa đổi các tệp .properties trong Thư mục /opt/apigee/customer/application. Mỗi thành phần đều có .properties trong thư mục đó. Ví dụ: router.propertiesmanagement-server.properties.

Ví dụ: để tạo tệp .properties:

  1. Tạo tệp trong trình chỉnh sửa như bất kỳ người dùng nào.
  2. Sử dụng chown để thay đổi chủ sở hữu tệp thành "apigee:apigee" hoặc nếu bạn đã thay đổi người dùng chạy dịch vụ Edge từ "api" (API) người dùng, hãy chia sẻ tệp cho người dùng đang chạy dịch vụ Edge.

Để đặt thuộc tính cho một thành phần, hãy chỉnh sửa tệp .properties tương ứng để đặt một mã thông báo rồi khởi động lại thành phần này:

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

Ví dụ: sau khi chỉnh sửa router.properties, hãy khởi động lại Bộ định tuyến:

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

Khi bạn nâng cấp Edge, các tệp .properties trong Đã đọc thư mục /opt/apigee/customer/application. Điều đó có nghĩa là quá trình nâng cấp sẽ giữ lại mọi thuộc tính mà bạn đặt trên thành phần này.

Vị trí của tệp .properties

Có 3 thư mục cấp cao nhất chứa các tệp .properties trên Edge thành phần: cài đặt, chủ sở hữu và khách hàng. Vị trí mặc định được hiển thị trong các vị trí sau bảng:

Chủ sở hữu Thư mục gốc của mã thông báo mặc định
Thành phần
/opt/apigee/component_name/conf

Trường hợp component_name xác định thành phần. Giá trị có thể sử dụng bao gồm:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (Cơ sở dữ liệu PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge SSO)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Máy chủ quản lý)
  • edge-management-ui (Giao diện người dùng Edge mới)
  • edge-message-processor (Bộ xử lý thông báo)
  • edge-postgres-server (Máy chủ Postgres)
  • edge-qpid-server (Máy chủ Qid)
  • edge-router (Bộ định tuyến Edge)
  • edge-ui (Giao diện người dùng cổ điển)
Cài đặt
/opt/apigee/token
Khách hàng
/opt/apigee/customer

Xác định giá trị hiện tại của mã thông báo

Trước khi đặt mã thông báo trong tệp .properties cho thành phần này, trước tiên, bạn có thể xác định giá trị hiện tại của tham số đó bằng lệnh sau:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

Trong đó component_name là tên của thành phần và token là mã thông báo cần kiểm tra.

Lệnh này tìm kiếm hệ phân cấp của các tệp .properties để xác định giá trị hiện tại của mã thông báo.

Ví dụ: để kiểm tra giá trị hiện tại của conf_http_HTTPRequest.line.limit mã thông báo cho Bộ định tuyến:

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

Bạn sẽ thấy kết quả trong biểu mẫu:

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

Đặt mã thông báo trong tệp .properties

Cách ghi đè giá trị của một mã thông báo:

  1. Chỉnh sửa tệp .properties cho thành phần này để đặt giá trị mã thông báo. Nếu tệp không tồn tại, hãy tạo nó.
  2. Khởi động lại thành phần.
  3. Kiểm tra giá trị của mã thông báo.

Ví dụ: để đặt giới hạn dòng yêu cầu cho Bộ định tuyến cạnh:

  1. Chỉnh sửa tệp /opt/apigee/customer/application/router.properties để đặt giá trị Mã thông báo conf_http_HTTPRequest.line.limit:
    conf_http_HTTPRequest.line.limit=8k
  2. Khởi động lại Edge Router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. Kiểm tra giá trị của mã thông báo:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Đặt mã thông báo nhận nhiều giá trị

Một số mã thông báo lấy danh sách giá trị được phân tách bằng dấu phẩy. Ví dụ: Mã thông báo conf_security_rbac.restricted.resources lấy danh sách URI bị hạn chế để chỉ quản trị viên hệ thống mới có thể gọi cho chúng. Cách xem giá trị của conf_security_rbac.restricted.resources:

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

Kết quả đầu ra chứa các nội dung sau:

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

Để đặt mã thông báo lấy danh sách giá trị, hãy thêm mọi giá trị mới vào giá trị hiện tại của mã thông báo trong tệp .properties. Do đó, để thêm URI /myuri/* vào conf_security_rbac.restricted.resources, chỉnh sửa tệp /opt/apigee/customer/application/management-server.properties như minh hoạ bên dưới:

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

Tìm mã thông báo

Trong hầu hết các trường hợp, mã thông báo bạn cần đặt đều được xác định trong hướng dẫn này. Tuy nhiên, nếu bạn cần để xác định mã thông báo dùng để ghi đè một thuộc tính, hãy thực hiện grep trong Thư mục source của thành phần.

Ví dụ: nếu bạn biết rằng trong bản phát hành trước của Edge, bạn đặt giá trị thuộc tính session.maxAge và muốn biết giá trị mã thông báo được dùng để đặt thuộc tính đó, sau đó grep cho thuộc tính trong thư mục /opt/apigee/edge-ui/source:

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

Bạn sẽ thấy kết quả trong biểu mẫu:

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

Chuỗi giữa các thẻ {T}{/T} là mã thông báo mà bạn đặt vào tệp .properties.

Đặt một mã thông báo đang được nhận xét

Một số mã thông báo được nhận xét trong tệp cấu hình Edge. Nếu bạn cố đặt một mã thông báo bị nhận xét, chế độ cài đặt này sẽ bị bỏ qua.

Để đặt mã thông báo được nhận xét, bạn sử dụng cú pháp đặc biệt trong biểu mẫu:

conf/file.extension+propertyName=propertyValue

Ví dụ: bạn muốn đặt thuộc tính có tên HTTPClient.proxy.host trên Thông báo Bộ xử lý. Sau đó, bạn sẽ grep để thuộc tính xác định mã thông báo của nó:

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

Lệnh grep trả về kết quả dưới dạng giá trị mã thông báo. Lưu ý cách nhận xét tên cơ sở lưu trú, được biểu thị bằng tiền tố # trên tên thuộc tính:

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=

Để đặt thuộc tính, hãy chỉnh sửa /opt/apigee/customer/application/message-processor.properties để đặt thuộc tính này là:

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

Hãy lưu ý cách đặt tiền tố của tên cơ sở lưu trú là conf/http.properties+, vị trí và tên của tệp cấu hình chứa thuộc tính, theo sau là dấu "+".

Sau khi bạn khởi động lại Trình xử lý thư, hãy kiểm tra tệp /opt/apigee/edge-message-processor/conf/http.properties:

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

Vào cuối tệp, bạn sẽ thấy thuộc tính được đặt ở dạng:

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