شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
این مثال نحوه استفاده از Apigee Adapter for Envoy با Apigee Edge را نشان می دهد.
پیش نیازها
قبل از شروع: |
---|
نمای کلی
این مثال نحوه استفاده از Apigee Adapter for Envoy با Apigee Edge برای Public Cloud را توضیح می دهد. فراخوانی های پراکسی API از طریق Envoy در حال اجرا به عنوان یک برنامه بومی با Edge که خدمات مدیریت API را از طریق Apigee Remote Service برای Envoy ارائه می کند، جریان می یابد.
شکل زیر معماری اولیه ادغام Apigee Edge را نشان می دهد:
یک پروکسی فرستاده و سرویس از راه دور به صورت محلی در حال اجرا هستند. Envoy ترافیک API به و از سرویس هدف را کنترل می کند و با سرویس از راه دور ارتباط برقرار می کند. سرویس از راه دور همچنین با Apigee Edge Cloud ارتباط برقرار می کند تا اطلاعات محصول و پروکسی API را بازیابی کند.
Provision Apigee Edge
در این مرحله، از Remote Service CLI برای ارائه آداپتور Apigee برای داراییهای Envoy به Apigee Edge استفاده خواهید کرد. دستور تهیه، یک پراکسی API را در Apigee Edge مستقر میکند، و همچنین یک گواهی را در Apigee تنظیم میکند و اعتبارنامههایی را ایجاد میکند که سرویس از راه دور برای اتصال ایمن از سیستم شما به Apigee استفاده میکند.
- به فهرست راهنمای
$CLI_HOME
بروید:cd $CLI_HOME
- متغیرهای محیطی زیر را ایجاد کنید. این متغیرها به عنوان پارامترهای اسکریپت تامین استفاده خواهند شد:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export 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 for Envoy را اجرا کنید
می توانید Remote Service را به صورت باینری بومی یا در Docker اجرا کنید.
سرویس را به صورت بومی اجرا کنید
باینری سرویس را با فایل پیکربندی که توسط دستور provisioning خروجی داده شده است اجرا کنید:
$CLI_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
سرویس را در Docker اجرا کنید
تصاویر داکر با برچسب های انتشار منتشر می شوند. برای این نصب، از آخرین نسخه استفاده کنید. سه تنوع تصویر برای انتخاب وجود دارد:
تنوع | تصویر |
---|---|
گوگل بدون توزیع | gcr.io/distroless/base |
اوبونتو | google/apigee-envoy-adapter:v1.1.0-ubuntu |
اوبونتو با کریپتو خسته کننده | google/apigee-envoy-adapter:v1.1.0-boring |
به عنوان مثال، برای اجرای تصویر خراش با config.yaml
محلی خود که به عنوان /config.yaml
از طریق یک ولوم مونت در دسترس است، از این دستور استفاده کنید:
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_KEY
curl -i http://localhost:8080/httpbin/headers -H "x-api-key: $APIKEY"
تماس باید با وضعیت 200 و بازگرداندن لیستی از سرصفحه ها در پاسخ موفقیت آمیز باشد. به عنوان مثال:
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 توضیح داده شده پیکربندی کرده باشید، محدودیت سهمیه روی 5 درخواست در دقیقه تنظیم شده است. برای فعال کردن سهمیه، چند بار دیگر با سرویس
httpbin
تماس بگیرید. هنگامی که سهمیه تمام می شود، یک خطای وضعیت HTTP 403 برگردانده می شود. - به Apigee Analytics در رابط کاربری Edge دسترسی داشته باشید. به Analyze > API Metrics > API Proxy Performance بروید.
- توکنهای JWT را برای احراز هویت تماسهای API ایجاد و استفاده کنید.
- از CLI برای مدیریت، ایجاد نشانه ها و کنترل اتصالات استفاده کنید. برای جزئیات CLI، به مرجع مراجعه کنید.