شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این مثال نحوه استفاده از Apigee Adapter برای Envoy با Apigee Edge را نشان میدهد.
پیشنیازها
| قبل از شروع: |
|---|
نمای کلی
این مثال نحوه استفاده از Apigee Adapter for Envoy به همراه Apigee Edge for Public Cloud را توضیح میدهد. فراخوانیهای پروکسی API از طریق Envoy که به عنوان یک برنامه بومی اجرا میشود، جریان مییابد و Edge خدمات مدیریت API را از طریق Apigee Remote Service for Envoy ارائه میدهد.
شکل زیر معماری پایه برای یکپارچهسازی Apigee Edge را نشان میدهد:

یک پروکسی Envoy و سرویس Remote به صورت محلی در حال اجرا هستند. Envoy ترافیک API را به و از سرویس هدف مدیریت میکند و با سرویس Remote ارتباط برقرار میکند. سرویس Remote همچنین با Apigee Edge Cloud ارتباط برقرار میکند تا اطلاعات محصول API و پروکسی را بازیابی کند.
ارائه لبه آپیجی
در این مرحله، شما از رابط خط فرمان سرویس راه دور (Remote Service CLI) برای آمادهسازی آداپتور Apigee برای داراییهای Envoy به Apigee Edge استفاده خواهید کرد. دستور آمادهسازی، یک پروکسی API را به Apigee Edge مستقر میکند و همچنین یک گواهینامه روی Apigee تنظیم میکند و اعتبارنامههایی را ایجاد میکند که سرویس راه دور برای اتصال ایمن از سیستم شما به Apigee از آنها استفاده خواهد کرد.
- به پوشه
$CLI_HOMEبروید:cd $CLI_HOME
- متغیرهای محیطی زیر را ایجاد کنید. این متغیرها به عنوان پارامترهای اسکریپت تأمین استفاده خواهند شد:
export ORG=organization_nameexport ENV=environment_nameexport USER=your_apigee_usernameexport PASSWORD=your_apigee_passwordکجا:
متغیر توضیحات organization_name نام سازمان Apigee شما. environment_name نام یک محیط در سازمان شما. your_apigee_username نام کاربری حساب Apigee شما. معمولاً نام کاربری یک آدرس ایمیل است. your_apigee_password رمز عبور Apigee شما. - برای تنظیم پروکسی سرویس از راه دور در Apigee Edge، دستور زیر را اجرا کنید:
./apigee-remote-service-cli provision --legacy --mfa $MFA --username $USER --password $PASSWORD \ --organization $ORG --environment $ENV > config.yaml - محتویات فایل
config.yamlرا بررسی کنید. باید چیزی شبیه به این باشد:# 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
مقادیر کلید و رمز برای اعتبارسنجی درخواستها از Remote Service Proxy به Apigee Edge استفاده میشوند.
سرویس Apigee Remote را برای سرویس Envoy اجرا کنید.
شما میتوانید سرویس راه دور را یا به صورت یک فایل باینری بومی یا روی داکر اجرا کنید.
سرویس را به صورت بومی اجرا کنید
فایل باینری سرویس را با فایل پیکربندی که توسط دستور provisioning خروجی داده شده است، اجرا کنید:
$CLI_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
اجرای سرویس روی داکر
ایمیجهای داکر با برچسبهای انتشار منتشر میشوند. برای این نصب، از آخرین نسخه استفاده کنید. سه نوع ایمیج برای انتخاب وجود دارد:
| تنوع | تصویر |
|---|---|
| بدون نیاز به گوگل | gcr.io/distroless/base |
| اوبونتو | google/apigee-envoy-adapter:v1.1.0-ubuntu |
| اوبونتو با Boring Crypto | google/apigee-envoy-adapter:v1.1.0-boring |
برای مثال، برای اجرای تصویر خراش با config.yaml محلی خود که با نام /config.yaml از طریق یک درایو مجازی (volume mount) در دسترس است، از این دستور استفاده کنید:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v1.1.0
ایجاد فایلهای پیکربندی نمونه
برای تولید فایلهای پیکربندی نمونه، از دستور apigee-remote-service-cli samples create استفاده کنید.
برای این مثال، به این فایلهای تولید شده نیاز دارید:
-
envoy-config.yaml- پیکربندی استقرار برای یک سرویس HTTP.
برای تولید نمونهها:
- به پوشه
$CLI_HOMEبروید. برای تولید فایلها، این دستور را اجرا کنید:
./apigee-remote-service-cli samples create --template native -c ./config.yaml
فایلهای زیر در دایرکتوری
./samples خروجی داده میشوند:ls samples envoy-config.yaml
برای اطلاعات بیشتر، به دستور Samples مراجعه کنید.
پروکسی Envoy را نصب و اجرا کنید
برای نصب و اجرای پروکسی Envoy، این مراحل را دنبال کنید:
- فایل باینری Envoy را دانلود کنید یا آن را بسازید ، یا از Docker استفاده کنید.
- Envoy را با استفاده از یک فایل پیکربندی نمونه که قبلاً برای سرویس
httpbin.orgایجاد کردهاید، اجرا کنید:envoy -c $CLI_HOME/samples/envoy-config.yaml
نصب را آزمایش کنید
- سرویس
httpbinرا فراخوانی کنید:curl -i http://localhost:8080/httpbin/headers
این سرویس اکنون توسط Apigee مدیریت میشود و از آنجا که شما کلید API را ارائه نکردهاید، فراخوانی خطای زیر را برمیگرداند.
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
- یک محصول API را پیکربندی کنید و یک کلید API دریافت کنید، همانطور که در نحوه دریافت کلید API توضیح داده شده است.
- با استفاده از کلید، یک فراخوانی API انجام دهید:
export APIKEY=YOUR_API_KEYcurl -i http://localhost:8080/httpbin/headers -H "x-api-key: $APIKEY"فراخوانی باید با وضعیت ۲۰۰ و برگرداندن لیستی از هدرها در پاسخ، با موفقیت انجام شود. برای مثال:
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" } }
مراحل بعدی
ترافیک API به سرویس httpbin اکنون توسط Apigee مدیریت میشود. در اینجا چند ویژگی وجود دارد که میتوانید بررسی و امتحان کنید:
- اگر محصول API خود را همانطور که در نحوه دریافت کلید API توضیح داده شد، پیکربندی کردهاید، محدودیت سهمیه روی ۵ درخواست در دقیقه تنظیم شده است. برای فعال کردن سهمیه، چند بار دیگر سرویس
httpbinرا فراخوانی کنید. وقتی سهمیه تمام شود، خطای وضعیت HTTP 403 بازگردانده میشود. - به Apigee Analytics در رابط کاربری Edge دسترسی پیدا کنید. به Analyze > API Metrics > API Proxy Performance بروید.
- تولید و استفاده از توکنهای JWT برای احراز هویت فراخوانیهای API.
- از رابط خط فرمان (CLI) برای مدیریت، ایجاد توکنها و کنترل اتصالها استفاده کنید. برای جزئیات رابط خط فرمان، به مرجع مراجعه کنید.