Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Ví dụ này minh hoạ cách sử dụng Apigee Adapter for 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 Apigee Adapter for Envoy với Apigee Edge cho Đám mây công cộng. Các lệnh gọi proxy API sẽ truyền qua Envoy đang chạy dưới dạng một ứng dụng gốc có Edge cung cấp các dịch vụ quản lý API thông qua Dịch vụ từ xa Apigee cho Envoy.
Hình sau đây cho thấy cấu trúc cơ bản để tích hợp Apigee Edge:

Một proxy Envoy và Dịch vụ từ xa đang chạy cục bộ. Envoy xử lý lưu lượng truy cập API đến và đi từ dịch vụ đích, đồng thời giao tiếp với Dịch vụ từ xa. Dịch vụ từ xa cũng giao tiếp với Apigee Edge Cloud để truy xuất thông tin về sản phẩm và proxy API.
Cấp phép Apigee Edge
Trong bước này, bạn sẽ sử dụng Remote Service CLI để cung cấp tài sản Apigee Adapter for Envoy cho Apigee Edge. Lệnh cung cấ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 cung cấp:
export ORG=organization_nameexport ENV=environment_nameexport USER=your_apigee_usernameexport PASSWORD=your_apigee_passwordTrong trường hợp:
Biến Mô tả organization_name Tên 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 tài khoản Apigee của bạn. Thông thường, tên người dùng là địa chỉ email. your_apigee_password Mật khẩu Apigee của bạn. - Thực thi lệnh sau để cung cấp proxy dịch vụ từ xa trên Apigee Edge:
./apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD \ --organization $ORG --environment $ENV > config.yaml - Kiểm tra nội dung của tệp
config.yaml. Đoạn mã sẽ trông giố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ừ Remote Service Proxy đến Apigee Edge.
Chạy dịch vụ Apigee Remote Service for Envoy
Bạn có thể chạy Dịch vụ từ xa dưới dạng một tệp nhị phân gốc hoặc trên Docker.
Chạy dịch vụ một cách tự nhiên
Thực thi tệp nhị phân dịch vụ bằng tệp cấu hình do lệnh cung cấp xuất ra:
$CLI_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Chạy dịch vụ trên Docker
Hình ảnh Docker được xuất bản bằng thẻ phát hành. Đối với lần cài đặt này, hãy sử dụng phiên bản mới nhất. Có 3 phiên bản hình ảnh để bạn lựa chọn:
| Nội dung đa dạng | Hình ảnh |
|---|---|
| Google distroless | gcr.io/distroless/base |
| Ubuntu | google/apigee-envoy-adapter:v1.1.0-ubuntu |
| Ubuntu có BoringCrypto | google/apigee-envoy-adapter:v1.1.0-boring |
Ví dụ: để chạy hình ảnh tạm thời với config.yaml cục bộ có sẵn dưới dạng /config.yaml thông qua một điểm gắn kết ổ đĩa, hãy dùng lệnh sau:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v1.1.0
Tạo tệp cấu hình mẫu
Dùng lệnh apigee-remote-service-cli samples create để tạo các tệp cấu hình mẫu.
Đối với ví dụ này, bạn cần những tệp được tạo sau:
envoy-config.yaml– Cấu hình triển khai cho một dịch vụ HTTP.
Cách tạo mẫu:
- Chuyển đến thư mục
$CLI_HOME. Thực thi lệnh này để tạo các tệp:
./apigee-remote-service-cli samples create --template native -c ./config.yaml
Các tệp sau đây được xuất ra thư mục
./samples:ls samples envoy-config.yaml
Để biết thêm thông tin, hãy xem 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 Envoy xuống hoặc tạo tệp nhị phân đó, 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 $CLI_HOME/samples/envoy-config.yaml
Kiểm tra quy trình cài đặt
- Gọi dịch vụ
httpbin:curl -i http://localhost:8080/httpbin/headers
Dịch vụ này hiện đang được 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/httpbin/headers 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
- Định cấu hình một sản phẩm API và lấy khoá API như được giải thích trong phần Cách lấy khoá API.
- Thực hiện lệnh gọi API bằng khoá:
export APIKEY=YOUR_API_KEYcurl -i http://localhost:8080/httpbin/headers -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 đến dịch vụ httpbin hiện do Apigee quản lý. Sau đây là một số tính năng 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 bài viết Cách lấy khoá API, thì hạn mức được đặt là 5 yêu cầu mỗi phút. Hãy thử gọi dịch vụ
httpbinthêm vài lần nữa để kích hoạt hạn mức. Khi hết hạn mức, 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 tích > Chỉ số API > Hiệu suất của API Proxy.
- 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.