شما در حال مشاهده اسناد 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 ارائه می کند، جریان می یابد.
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 استفاده کنید:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
اگر در حال ارتقاء هستید، از این دستور با پرچم
--force-proxy-install
برای تهیه Apigee استفاده کنید:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --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 خروجی داده شده است اجرا کنید:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
سرویس را در Docker اجرا کنید
تصاویر داکر با برچسب های انتشار منتشر می شوند. برای این نصب، از آخرین نسخه استفاده کنید. سه تنوع تصویر برای انتخاب وجود دارد:
تنوع | تصویر |
---|---|
گوگل بدون توزیع | google/apigee-envoy-adapter:v2.0.0 |
اوبونتو | google/apigee-envoy-adapter:v2.0.0-ubuntu |
اوبونتو با کریپتو خسته کننده | google/apigee-envoy-adapter:v2.0.0-boring |
به عنوان مثال، برای اجرای تصویر خراش با config.yaml
محلی خود که به عنوان /config.yaml
از طریق یک ولوم مونت در دسترس است، از این دستور استفاده کنید:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
فایل های پیکربندی نمونه ایجاد کنید
با استفاده از CLI یک فایل پیکربندی Envoy ایجاد کنید:
- مطمئن شوید که در فهرست
$ENVOY_HOME
هستید. - الگوهای پیکربندی موجود را فهرست کنید:
$CLI_HOME/apigee-remote-service-cli samples templates
دستور نمونه ها را اجرا کنید. برای TEMPLATE ، یکی از قالب های پشتیبانی شده Envoy را جایگزین کنید:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
دستور فایل
./samples/envoy-config.yaml
را ایجاد می کند.
برای اطلاعات بیشتر، دستور Samples را ببینید.
پروکسی Envoy را نصب و اجرا کنید
برای نصب و اجرای پروکسی Envoy مراحل زیر را دنبال کنید:
- باینری Envoy را دانلود کنید یا آن را بسازید یا از Docker استفاده کنید.
- Envoy را با استفاده از نمونه فایل پیکربندی که قبلا برای سرویس
httpbin.org
ایجاد کرده اید اجرا کنید:envoy -c ./samples/envoy-config.yaml
نصب را تست کنید
- یک محصول API را پیکربندی کنید و یک کلید API دریافت کنید همانطور که در نحوه به دست آوردن یک کلید API توضیح داده شده است.
- با سرویس
httpbin
بدون کلید API تماس بگیرید:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
این سرویس در حال حاضر توسط Apigee مدیریت میشود و چون کلید API ارائه نکردهاید، تماس خطای زیر را برمیگرداند.
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
- با استفاده از کلید زیر یک تماس API برقرار کنید:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -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، به مرجع مراجعه کنید.