Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu về Apigee X. thông tin
Ví dụ này minh hoạ cách sử dụng Trình chuyển đổi Apigee cho Envoy với Apigee Edge.
Điều kiện tiên quyết
Trước khi bắt đầu: |
---|
|
Tổng quan
Ví dụ này giải thích cách sử dụng Bộ chuyển đổi Apigee cho Envoy với Apigee Edge cho Public Cloud. Các lệnh gọi proxy API chảy qua Envoy chạy dưới dạng ứng dụng gốc, trong đó Edge cung cấp các dịch vụ quản lý API thông qua Dịch vụ từ xa Apigee cho Envoy.
Cấp phép Apigee Edge
Trong bước này, bạn sẽ sử dụng CLI Dịch vụ từ xa để cấp phát Trình chuyển đổi Apigee cho các tài sản Envoy cho Apigee Edge. Lệnh cấp phép sẽ triển khai một proxy API cho Apigee Edge, đồng thời thiết lập một chứng chỉ trên Apigee và tạo thông tin đăng nhập mà Dịch vụ từ xa sẽ dùng để kết nối an toàn từ hệ thống của bạn với Apigee.
- Chuyển đến thư mục
$CLI_HOME
:cd $CLI_HOME
- Tạo các biến môi trường sau. Các biến này sẽ được dùng làm tham số cho tập lệnh cấp phép:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
Trong trường hợp:
Biến Mô tả organization_name Tên của tổ chức Apigee của bạn. environment_name Tên của một môi trường trong tổ chức của bạn. your_apigee_username Tên người dùng của tài khoản Apigee. Thông thường, tên người dùng là một địa chỉ email. your_apigee_password Mật khẩu của bạn trên Apigee. - Thực thi lệnh sau để cấp phép proxy dịch vụ từ xa trên Apigee Edge:
Nếu bạn không nâng cấp, hãy dùng lệnh sau để cung cấp Apigee:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
Nếu bạn đang nâng cấp, hãy sử dụng lệnh này với cờ
--force-proxy-install
để cấp phép Apigee:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
- Kiểm tra nội dung của tệp
config.yaml
. Mã sẽ có dạng như sau:# Configuration for apigee-remote-service-envoy (platform: SaaS) # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41 apiVersion: v1 kind: ConfigMap metadata: name: apigee-remote-service-envoy namespace: apigee data: config.yaml: | tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://my-username-test.apigee.net/remote-service org_name: my-org env_name: my-env key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664 secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75 ...
Khoá và giá trị bí mật được dùng để xác thực các yêu cầu từ Proxy dịch vụ từ xa đến Apigee Edge.
Chạy Dịch vụ từ xa của Apigee cho dịch vụ Envoy
Bạn có thể chạy Dịch vụ từ xa dưới dạng tệp nhị phân gốc hoặc trên Docker.
Chạy dịch vụ gốc
Thực thi tệp nhị phân của dịch vụ bằng tệp cấu hình do lệnh cấp phép xuất ra:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Chạy dịch vụ trên Docker
Hình ảnh Docker được phát hành bằng thẻ phát hành. Đối với lượt cài đặt này, hãy sử dụng phiên bản mới nhất. Bạn có thể chọn trong số 3 biến thể hình ảnh sau:
Nội dung đa dạng | Hình ảnh |
---|---|
Google không phân phối | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
Ubuntu với mã hoá nhàm chán | google/apigee-envoy-adapter:v2.0.0-boring |
Ví dụ: để chạy hình ảnh khởi động bằng config.yaml
cục bộ dưới dạng /config.yaml
thông qua một phương thức gắn phương tiện, hãy sử dụng lệnh sau:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
Tạo tệp cấu hình mẫu
Tạo tệp cấu hình Envoy bằng CLI:
- Đảm bảo bạn đang ở thư mục
$ENVOY_HOME
. - Liệt kê các mẫu cấu hình có sẵn:
$CLI_HOME/apigee-remote-service-cli samples templates
Thực thi lệnh samples. Đối với TEMPLATE, hãy thay thế một trong các mẫu Envoy được hỗ trợ:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
Lệnh này sẽ tạo tệp
./samples/envoy-config.yaml
.
Để biết thêm thông tin, hãy xem phần Lệnh mẫu.
Cài đặt và chạy proxy Envoy
Hãy làm theo các bước sau để cài đặt và chạy proxy Envoy:
- Tải tệp nhị phân của Envoy xuống hoặc tạo tệp đó, hoặc sử dụng Docker.
- Chạy Envoy bằng tệp cấu hình mẫu mà bạn đã tạo trước đó cho dịch vụ
httpbin.org
:envoy -c ./samples/envoy-config.yaml
Kiểm thử quá trình cài đặt
- Định cấu hình sản phẩm API và nhận khoá API như được giải thích trong phần Cách lấy khoá API.
- Gọi dịch vụ
httpbin
mà không cần khoá API:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
Dịch vụ hiện đang do Apigee quản lý và vì bạn không cung cấp khoá API nên lệnh gọi sẽ trả về lỗi sau.
curl -i http://localhost:8080/headers -H "HOST:httpbin.org" HTTP/1.1 403 Forbidden date: Tue, 12 May 2020 17:51:36 GMT server: envoy content-length: 0 x-envoy-upstream-service-time: 11
- Thực hiện lệnh gọi API bằng khoá:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"
Lệnh gọi phải thành công với trạng thái 200 và trả về danh sách tiêu đề trong phản hồi. Ví dụ:
curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS" HTTP/1.1 200 OK server: envoy date: Tue, 12 May 2020 17:55:34 GMT content-type: application/json content-length: 828 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 301 { "headers": { "Accept": "*/*", "Content-Length": "0", "Host": "httpbin.default.svc.cluster.local", "User-Agent": "curl/7.70.0-DEV", "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS", "X-Apigee-Accesstoken": "", "X-Apigee-Api": "httpbin.default.svc.cluster.local", "X-Apigee-Apiproducts": "httpbin", "X-Apigee-Application": "httpbin", "X-Apigee-Authorized": "true", "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS", "X-Apigee-Developeremail": "user@example.com", "X-Apigee-Environment": "test", "X-Apigee-Organization": "my-org", "X-Apigee-Scope": "", "X-B3-Parentspanid": "1476f9a2329bbdfa", "X-B3-Sampled": "0", "X-B3-Spanid": "1ad5c19bfb4bc96f", "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa" } }
Các bước tiếp theo
Lưu lượng truy cập API vào dịch vụ httpbin
hiện do Apigee quản lý. Sau đây là một số tính năng mà bạn có thể khám phá và dùng thử:
- Nếu bạn đã định cấu hình sản phẩm API như giải thích trong phần Cách lấy khoá API, thì hạn mức hạn mức được đặt thành 5 yêu cầu mỗi phút. Hãy thử gọi dịch vụ
httpbin
thêm vài lần để kích hoạt hạn mức. Khi hạn mức đã cạn, hệ thống sẽ trả về lỗi trạng thái HTTP 403. - Truy cập vào Apigee Analytics trong giao diện người dùng Edge. Chuyển đến phần Phân tích > Chỉ số API > Hiệu suất proxy API.
- Tạo và sử dụng mã thông báo JWT để xác thực các lệnh gọi API.
- Sử dụng CLI để quản lý, tạo mã thông báo và kiểm soát các liên kết. Để biết thông tin chi tiết về CLI, hãy xem phần Tài liệu tham khảo.