Sử dụng bộ chuyển đổi Apigee cho Envoy và Apigee Edge

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Ví dụ này minh hoạ cách dùng Bộ chuyển đổi Apigee 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 Bộ chuyển đổi Apigee cho Envoy với Apigee Edge cho Public Cloud. API các lệnh gọi proxy thông qua Envoy chạy dưới dạng một ứng dụng gốc với Edge cung cấp API thông qua Dịch vụ từ xa Apigee dành cho Envoy.

Hình sau đây cho thấy cấu trúc cơ bản để tích hợp Apigee Edge:

Cấp cao
    hình ảnh Bộ chuyển đổi Envoy chạy tự nhiên để giao tiếp với Apigee Edge Cloud, bao gồm cả
    máy bay quản lý, máy bay thời gian chạy và các dịch vụ GCP

Một proxy Envoy và Dịch vụ từ xa đang chạy trên thiết bị. Envoy xử lý lưu lượng truy cập API đến và đi từ dịch vụ mục tiêu, đồ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 API và proxy.

Cấp phép cho Apigee Edge

Ở bước này, bạn sẽ dùng Giao diện dòng lệnh (CLI) của dịch vụ từ xa để cung cấp Bộ chuyển đổi Apigee cho các thành phần của Envoy với Apigee Edge. Lệnh cấp phép sẽ triển khai một proxy API đến Apigee Edge, cũng như thiết lập chứng chỉ trên Apigee và tạo thông tin đăng nhập mà Dịch vụ từ xa sẽ dùng để bảo mật kết nối từ hệ thống của bạn với Apigee.

  1. Chuyển đến thư mục $CLI_HOME:
    cd $CLI_HOME
  2. Tạo các biến môi trường sau. Các biến này sẽ được dùng làm các tham số vào 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.
  3. 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 --username $USER --password $PASSWORD \
        --organization $ORG --environment $ENV > config.yaml
  4. Kiểm tra nội dung của tệp config.yaml. Hàm này có dạng như sau:
    # Configuration for apigee-remote-service-envoy
    # generated by apigee-remote-service-cli provision on 2020-06-06 11:55:52
    tenant:
      internal_api: https://istioservices.apigee.net/edgemicro
      remote_service_api: https://my-org-test.apigee.net/remote-service
      org_name: my-org
      env_name: test
      key: ecaa56d4101701cb877670909f3614219091b00ce559842e1b584a34b7c6a3e4
      secret: 0c66638bb865c1e13019990ea42da66b097d02a6ba333f050fb27cef20259d98

    Các giá trị khoá và khoá bí mật dùng để xác thực các yêu cầu từ Proxy dịch vụ từ xa với Apigee Edge.

Chạy Dịch vụ từ xa Apigee cho Chuyên viên

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ụ một cách tự nhiên

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

Các hình ảnh Docker được xuất bản cùng với 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. Có là ba biến thể hình ảnh để lựa chọn:

Nội dung đa dạng Bài đăng có hình ảnh
cào google/apigee-envoy-adapter:v1.0.0
Ubuntu google/apigee-envoy-adapter:v1.0.0-ubuntu
Ubuntu với mã hoá nhàm chán google/apigee-envoy-adapter:v1.0.0-boring

Ví dụ: để chạy hình ảnh cào với config.yaml cục bộ của bạn có sẵn dưới dạng /config.yaml qua một công cụ gắn âm lượng, hãy dùng lệnh sau:

docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v1.0.0

Cài đặt và chạy proxy Envoy

Làm theo các bước sau để cài đặt và chạy proxy Envoy:

  1. Tải tệp tệp nhị phân Envoy xuống hoặc xây dựng ứng dụng, hoặc sử dụng Docker.
  2. Chạy Envoy bằng tệp cấu hình mẫu được thiết lập cho dịch vụ httpbin.org:
    envoy -c $REMOTE_SERVICE_HOME/samples/native/envoy-httpbin.yaml

Kiểm tra việc cài đặt

  1. Gọi httpbin dịch vụ:
    curl -i http://localhost:8080/httpbin/headers
    

    Hiện tại, dịch vụ này đang do Apigee quản lý. Vì bạn không cung cấp khoá API, 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
  2. Định cấu hình cho một sản phẩm API và nhận khoá API như được giải thích trong Cách lấy khoá API.
  3. Gọi API bằng khoá:
    export APIKEY=YOUR_API_KEY
    curl -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 vào 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à thử:

  • Nếu bạn đã định cấu hình sản phẩm API như được giải thích trong Cách lấy khoá API, đã đặt giới hạn hạn mức thành 5 yêu cầu mỗi phút. Hãy thử gọi dịch vụ httpbin một vài lần để kích hoạt hạn mức. Khi vượt quá hạn mức, bạn sẽ thấy lỗi này:
    HTTP/1.1 429 Too Many Requests
  • Sử dụng Apigee Analytics trong giao diện người dùng Edge. Chuyển đến phần Analyze (Phân tích) > Chỉ số API > API Hiệu suất proxy.
  • Tạo và sử dụng mã thông báo JWT để xác thự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 mối 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.