Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं. info
इस उदाहरण में, Apigee Edge के साथ Apigee Adapter for Envoy का इस्तेमाल करने का तरीका दिखाया गया है.
ज़रूरी शर्तें
| शुरू करने से पहले: |
|---|
|
|
खास जानकारी
इस उदाहरण में, Apigee Edge for Public Cloud के साथ Apigee Adapter for Envoy का इस्तेमाल करने का तरीका बताया गया है. एपीआई प्रॉक्सी कॉल, Envoy के ज़रिए किए जाते हैं. Envoy, नेटिव ऐप्लिकेशन के तौर पर काम करता है. Edge, Envoy के लिए Apigee Remote Service के ज़रिए एपीआई मैनेजमेंट सेवाएं उपलब्ध कराता है.
Apigee Edge को चालू करना
इस चरण में, Apigee Edge के लिए Envoy ऐसेट के Apigee Adapter को चालू करने के लिए, Remote Service CLI का इस्तेमाल किया जाएगा. प्रोविज़निंग कमांड, 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 को चालू करने के लिए इस कमांड का इस्तेमाल करें:
$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 ...
कुंजी और सीक्रेट वैल्यू का इस्तेमाल, Remote Service Proxy से Apigee Edge को किए गए अनुरोधों की पुष्टि करने के लिए किया जाता है.
Envoy सेवा के लिए Apigee Remote Service चलाएं
रिमोट सेवा को नेटिव बाइनरी या Docker पर चलाया जा सकता है.
सेवा को नेटिव तौर पर चलाना
कॉन्फ़िगरेशन फ़ाइल के साथ सेवा बाइनरी को एक्ज़ीक्यूट करें. यह फ़ाइल, प्रोविज़निंग कमांड से आउटपुट हुई थी:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
Docker पर सेवा को चलाना
Docker इमेज, रिलीज़ टैग के साथ पब्लिश की जाती हैं. इस इंस्टॉलेशन के लिए, सबसे नया वर्शन इस्तेमाल करें. इमेज के तीन वैरिएशन में से कोई एक चुना जा सकता है:
| अलग-अलग तरह का कॉन्टेंट | इमेज |
|---|---|
| Google distroless | google/apigee-envoy-adapter:v2.0.0 |
| Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
| Boring Crypto के साथ 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 का इस्तेमाल करें.
- Envoy को उस सैंपल कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके चलाएं जिसे आपने पहले
httpbin.orgसेवा के लिए जनरेट किया था: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_KEYcurl -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 टोकन जनरेट करें और उनका इस्तेमाल करें.
- टोकन मैनेज करने, बनाने, और बाइंडिंग कंट्रोल करने के लिए, सीएलआई का इस्तेमाल करें. सीएलआई के बारे में ज़्यादा जानने के लिए, रेफ़रंस देखें.