Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
इस उदाहरण में, Apigee Edge के साथ Envoy के लिए Apigee Adapter को इस्तेमाल करने का तरीका बताया गया है.
ज़रूरी शर्तें
शुरू करने से पहले: |
---|
|
खास जानकारी
इस उदाहरण में बताया गया है कि Public Cloud के लिए, Apigee Edge के साथ Envoy के लिए Apigee अडैप्टर का इस्तेमाल कैसे किया जाता है. एपीआई प्रॉक्सी कॉल, Envoy से हो रहे हैं. यह नेटिव ऐप्लिकेशन के तौर पर चल रहा है. इसमें Edge, Envoy के लिए Apigee Remote Service के ज़रिए, एपीआई मैनेजमेंट की सेवाएं देता है.
प्रावधान Apigee Edge
इस चरण में, आपको Apigee Edge में Envoy एसेट के लिए Apigee अडैप्टर को सेट करने के लिए, रिमोट सर्विस सीएलआई का इस्तेमाल करना होगा. प्रॉविज़निंग कमांड, 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
अगर आप अपग्रेड कर रहे हैं, तो Apigee को प्रावधान करने के लिए,
--force-proxy-install
फ़्लैग के साथ इस कमांड का इस्तेमाल करें:$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 ...
कुंजी और सीक्रेट वैल्यू का इस्तेमाल, रिमोट सर्विस प्रॉक्सी से Apigee Edge को मिले अनुरोधों की पुष्टि करने के लिए किया जाता है.
Envoy सेवा के लिए Apigee रिमोट सेवा चलाएं
रिमोट सर्विस को नेटिव बाइनरी के तौर पर या Docker पर चलाया जा सकता है.
सेवा को नेटिव तौर पर चलाएं
सर्विस बाइनरी को उस कॉन्फ़िगरेशन फ़ाइल के साथ एक्ज़ीक्यूट करें जो प्रॉविज़निंग कमांड से मिली थी:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
सेवा को Docker पर चलाएं
Docker इमेज को रिलीज़ टैग के साथ पब्लिश किया जाता है. इस इंस्टॉल के लिए, सबसे नए वर्शन का इस्तेमाल करें. इमेज के तीन वैरिएशन उपलब्ध हैं:
अलग-अलग तरह का कॉन्टेंट | इमेज |
---|---|
Google डिस्ट्रोलेस | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
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
कॉन्फ़िगरेशन फ़ाइलों का नमूना बनाएं
सीएलआई का इस्तेमाल करके, 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
फ़ाइल बनती है.
ज़्यादा जानकारी के लिए, सैंपल निर्देश देखें.
Envoy प्रॉक्सी को इंस्टॉल करें और चलाएं
Envoy प्रॉक्सी को इंस्टॉल करने और चलाने के लिए, यह तरीका अपनाएं:
- Envoy को बाइनरी डाउनलोड करें या इसे बनाएं या Docker इस्तेमाल करें.
httpbin.org
सेवा के लिए पहले जनरेट की गई सैंपल कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके Envoy को चलाएं:envoy -c ./samples/envoy-config.yaml
इंस्टॉलेशन की जांच करना
- एपीआई प्रॉडक्ट को कॉन्फ़िगर करें और एपीआई पासकोड पाने का तरीका लेख में बताए गए तरीके से एपीआई पासकोड पाएं.
- एपीआई पासकोड के बिना
httpbin
सेवा को कॉल करें:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
अब इस सेवा को Apigee मैनेज कर रहा है और आपने एपीआई पासकोड उपलब्ध नहीं कराया है. इसलिए, कॉल में यह गड़बड़ी दिखेगी.
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
- कुंजी का इस्तेमाल करके एपीआई कॉल करें:
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" } }
अगले चरण
httpbin
सेवा के एपीआई ट्रैफ़िक को अब Apigee से मैनेज किया जाता है. यहां कुछ ऐसी सुविधाएं दी गई हैं जिन्हें एक्सप्लोर करके आज़माया जा सकता है:
- अगर आपने
एपीआई पासकोड पाने का तरीका वाले लेख में बताए गए तरीके से, अपने एपीआई प्रॉडक्ट को कॉन्फ़िगर किया है,
तो कोटा की सीमा, हर मिनट पांच अनुरोध पर सेट की गई थी. कोटा ट्रिगर करने के लिए,
httpbin
सेवा को कुछ और बार कॉल करके देखें. कोटा खत्म होने पर, एचटीटीपी स्टेटस 403 वाली गड़बड़ी दिखती है. - Edge यूज़र इंटरफ़ेस (यूआई) में Apigee Analytics ऐक्सेस करना. विश्लेषण > एपीआई मेट्रिक > एपीआई प्रॉक्सी परफ़ॉर्मेंस पर जाएं.
- एपीआई कॉल की पुष्टि करने के लिए, JWT टोकन जनरेट करें और उनका इस्तेमाल करें.
- टोकन बनाने, मैनेज करने, और बाइंडिंग कंट्रोल करने के लिए सीएलआई का इस्तेमाल करें. सीएलआई की जानकारी के लिए, रेफ़रंस देखें.