Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
शुरुआती जानकारी
इस विषय में बताया गया है कि Cubernetes क्लस्टर में Edge माइक्रोगेटवे को स्टैंडअलोन सेवा के तौर पर कैसे चलाया जाता है.
ज़्यादा जानकारी के लिए, Kubernetes की खास जानकारी के साथ Edge Microgateway को इंटिग्रेट करें देखें.
शुरू करने से पहले
ज़रूरी शर्तों में बताए गए चरणों को पूरा करें.
Edge माइक्रोगेटवे कॉन्फ़िगर करें
नीचे दिया गया निर्देश, आपके Apigee संगठन के लिए Edge माइक्रोगेटवे को कॉन्फ़िगर करता है और प्रॉक्सी edgemicro-auth
को डिप्लॉय करता है.
नीचे दिए गए निर्देश का इस्तेमाल करें:
edgemicro configure -o [org] -e [env] -u [username]
जगह:
org
: आपके Edge संगठन का नाम (यह ज़रूरी है कि आप संगठन के एडमिन हों).env
: आपके संगठन का कोई एनवायरमेंट (जैसे, टेस्ट या प्रोडक्शन).username
: आपके Apigee खाते से जुड़ा ईमेल पता.
उदाहरण
edgemicro configure -o docs -e test -u jdoe@example.com
आउटपुट (उदाहरण के तौर पर नीचे दिखाया गया है) को फ़ाइल में सेव किया जाता है:
$HOME/.edgemicro/org_name-env_name-config.yaml
.current nodejs version is v6.9.1 current edgemicro version is 2.5.25 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM KVM already exists in your org configuring host edgemicroservices.apigee.net for region us-west1 saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8 1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH 6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn 8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4 w+e3Z3F7IKI= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4 secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef edgemicro configuration complete!
एज माइक्रोगेटवे को सेवा के तौर पर डिप्लॉय करें
अपने Kubernetes क्लस्टर में सेवा के तौर पर Edge माइक्रोगेटवे को डिप्लॉय करने के लिए, यह कमांड लागू करें:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
कहां:
org
- वह Apigee संगठन, जिसके बारे में आपनेedgemicro configure
कमांड में बताया है.env
- वह एनवायरमेंट जिसे आपनेedgemicro configure
कमांड में बताया है.edgemicro-key
-edgemicro configure
निर्देश से मिला बटन.edgemicro-secret
-edgemicro configure
निर्देश से सीक्रेट मिला.file path of org-env-config.yaml
-edgemicro configure
कमांड से मिला, Edge माइक्रो कॉन्फ़िगरेशन फ़ाइल का पाथ.
उदाहरण के लिए:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
आउटपुट का उदाहरण:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" created
इस कोड को कॉपी करके अपने टर्मिनल में चिपकाएं. यह कोड, इन्ग्रेस कंट्रोलर को सेट अप करता है, ताकि
edge-microgateway
सेवा को बाहर से ऐक्सेस किया जा सके. कमांड को टर्मिनल में चिपकाने के बाद, आपको Enter दबाना पड़ सकता है:cat <<EOF | kubectl apply -f - apiVersion: extensions/v1beta1 kind: Ingress metadata: name: edge-microgateway-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - http: paths: - path: / backend: serviceName: edge-microgateway servicePort: 8000 EOF
सफल होने पर, आपको यह आउटपुट दिखेगा:
ingress "edge-microgateway-ingress" created
इन्ग्रेस कंट्रोलर को अब
edge-microgateway
की सेवा का बाहरी ऐक्सेस देने के लिए कॉन्फ़िगर कर दिया गया है.
टेस्ट सेवा डिप्लॉय करें
नीचे दिए गए तरीके में, आपके क्लस्टर में एक आसान टेस्ट सेवा डिप्लॉय की गई है. इन्ग्रेस कंट्रोलर, क्लस्टर के बाहर सेवा को कॉल करने की अनुमति नहीं देता.
बाद में, एज माइक्रोगेटवे को कॉन्फ़िगर किया जा सकता है, ताकि इस सेवा को टारगेट के तौर पर कॉल किया जा सके.
इन्ग्रेस कंट्रोलर, edge-microgateway
सेवा को बाहर से ऐक्सेस करने की अनुमति देता है.
helloworld
सेवा का सैंपल डिप्लॉय करें. इन्ग्रेस को इस सेवा के बारे में जानकारी नहीं है, इसलिए सेवा को क्लस्टर के बाहर से कॉल नहीं किया जा सकता.kubectl apply -f samples/helloworld/helloworld-service.yaml
आउटपुट का उदाहरण:
service "helloworld" created deployment "helloworld" created
पुष्टि करें कि डिप्लॉयमेंट की प्रोसेस पूरी हो गई है. ध्यान दें कि
helloworld
सेवा के लिए कोई भी बाहरी आईपी मौजूद नहीं है. नीचे दिए गए चरणों में, एज माइक्रोगेटवे को सेवा के इंटरनल आईपी को ऐक्सेस करने के लिए कॉन्फ़िगर करें.kubectl get services -n default
आउटपुट का उदाहरण:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE edge-microgateway NodePort 10.35.247.222 <none> 8000:32000/TCP 12m helloworld NodePort 10.35.245.103 <none> 8081:30294/TCP 47s kubernetes ClusterIP 10.35.240.1 <none> 443/TCP 47m
सेवा के लिए प्रॉक्सी के लिए एज माइक्रोगेटवे को कॉन्फ़िगर करें
helloworld
सेवा के लिए इंटरनल आईपी पाएं और उसे "माइक्रोगेटवे-अवेयर" प्रॉक्सी के टारगेट के तौर पर जोड़ें. "माइक्रोगेटवे-अवेयर" प्रॉक्सी बनाना एक स्टैंडर्ड एज माइक्रोगेटवे की ज़रूरत है.
माइक्रोगेटवे-अवेयर प्रॉक्सी के बारे में ज़रूरी जानकारी भी देखें.
टेस्ट सेवा के लिए इंटरनल आईपी पाना
helloworld
सेवा के लिए, इंटरनल क्लस्टर आईपी और पोर्ट पाएं:kubectl get services helloworld
आउटपुट का उदाहरण:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3m
CLUSTER-IP
औरPORT
की वैल्यू कॉपी करें. उदाहरण के लिए, ऊपर दिए गए उदाहरण में, ये वैल्यू हैं:10.55.254.255
और8081
. आपके सिस्टम के लिए वैल्यू अलग-अलग होंगी.
Edge पर माइक्रोगेटवे-अवेयर प्रॉक्सी बनाएं
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
- उसी संगठन को चुनें जिसे आपने Edge Microgateway को कॉन्फ़िगर करते समय पहले बताया था.
- साइड नेविगेशन मेन्यू में डेवलप करें > एपीआई प्रॉक्सी चुनें.
- + प्रॉक्सी पर क्लिक करें. 'प्रॉक्सी बनाएं' विज़र्ड खुलता है.
- पहले विज़ार्ड पेज में, रिवर्स प्रॉक्सी (सबसे सामान्य) चुनें.
- आगे बढ़ें पर क्लिक करें.
विज़ार्ड के ब्यौरा पेज में, नीचे बताए गए तरीके से कॉन्फ़िगर करें. जैसा कि दिखाया गया है, ठीक उसी तरह विज़र्ड में फ़ॉर्म भरना न भूलें. पक्का करें कि प्रॉक्सी नाम का प्रीफ़िक्स
edgemicro_
हो.- प्रॉक्सी का नाम: edgemicro_hello
प्रॉक्सी बेस पाथ: /hello
मौजूदा एपीआई:
http://<cluster_ip>:<port>
उदाहरण के लिए: http://10.55.254.255:8081
आगे बढ़ें पर क्लिक करें.
विज़ार्ड के सुरक्षा पेज में, पास करें (कोई नहीं) को चुनें.
आगे बढ़ें पर क्लिक करें.
विज़ार्ड के वर्चुअल होस्ट पेज में, डिफ़ॉल्ट को स्वीकार करें.
आगे बढ़ें पर क्लिक करें.
विज़ार्ड के बिल्ड पेज में, अपनी प्रॉक्सी सेटिंग की समीक्षा करें. पक्का करें कि test एनवायरमेंट को चुना गया हो.
बनाएं और डिप्लॉय करें पर क्लिक करें.
डेवलपर बनाएं
टेस्टिंग के लिए किसी मौजूदा डेवलपर का इस्तेमाल किया जा सकता है या नया डेवलपर बनाने के लिए, यह तरीका अपनाएं:
- साइड नेविगेशन मेन्यू में, पब्लिश करें > डेवलपर चुनें.
- + डेवलपर पर क्लिक करें.
- नया डेवलपर बनाने के लिए, डायलॉग बॉक्स भरें. डेवलपर के किसी भी नाम/ईमेल का इस्तेमाल किया जा सकता है.
एपीआई प्रॉडक्ट बनाएं
नीचे बताए गए तरीके का इस्तेमाल करके, एपीआई प्रॉडक्ट बनाएं. आपको प्रॉडक्ट में दो प्रॉक्सी जोड़नी होंगी: edgemicro-auth और edgemicro_hello.
प्रॉडक्ट कॉन्फ़िगरेशन के विकल्पों के बारे में ज़्यादा जानने के लिए, एपीआई प्रॉडक्ट कॉन्फ़िगरेशन के बारे में ज़रूरी जानकारी पढ़ें.
- साइड नेविगेशन मेन्यू में, पब्लिश करें > एपीआई प्रॉडक्ट चुनें.
- + एपीआई प्रॉडक्ट पर क्लिक करें. प्रॉडक्ट की जानकारी वाला पेज दिखेगा.
प्रॉडक्ट की जानकारी वाला पेज इस तरह भरें. जब तक ऐसा करने का निर्देश न दिया जाए, तब तक 'सेव करें' पर क्लिक न करें.
नाम hello-world-product
डिसप्ले नेम Edge Micro hello product
परिवेश test
ऐक्सेस Public
मुख्य अनुमति का टाइप Automatic
पेज के निचले आधे हिस्से में, + कस्टम संसाधन पर क्लिक करें.
रिसॉर्स को
/
(एक स्लैश) पर सेट करें.फिर से + कस्टम संसाधन चुनें और पाथ
/**
जोड़ें.पेज के निचले हिस्से में जाकर, + एपीआई प्रॉक्सी पर क्लिक करें.
edgemicro-auth नाम का प्रॉक्सी चुनें.
फिर से + एपीआई प्रॉक्सी पर क्लिक करें.
edgemicro_hello नाम के माइक्रोगेटवे-अवेयर प्रॉक्सी को चुनें.
सेव करें पर क्लिक करें.
डेवलपर ऐप्लिकेशन बनाना
- साइड नेविगेशन मेन्यू में, पब्लिश करें > ऐप्लिकेशन चुनें.
- + ऐप्लिकेशन पर क्लिक करें. इसके बाद, डेवलपर ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज दिखेगा.
डेवलपर ऐप्लिकेशन पेज को नीचे बताए गए तरीके से भरें. जब तक ऐसा करने का निर्देश न दिया जाए, तब तक सेव न करें.
नाम hello-world-app
डिसप्ले नेम Edge Micro hello app
डेवलपर आपने जो टेस्ट डेवलपर बनाया है उसे चुनें. ऐसा न करने पर, कोई भी डेवलपर सही रहेगा. क्रेडेंशियल सेक्शन में, + प्रॉडक्ट पर क्लिक करें और वह प्रॉडक्ट चुनें जिसे आपने बनाया है:
hello-world-product.
सेव करें पर क्लिक करें.
आप वापस उस पेज पर आ गए हैं जहां सभी डेवलपर ऐप्लिकेशन की सूची है.
आपने अभी जो ऐप्लिकेशन बनाया है उसे चुनें,
hello-world-app
.उपभोक्ता कुंजी के बगल में मौजूद, दिखाएं पर क्लिक करें.
उपभोक्ता कुंजी की वैल्यू कॉपी करें. यह वैल्यू एपीआई पासकोड है. इसका इस्तेमाल,
/hello
पर सुरक्षित एपीआई कॉल करने के लिए किया जाएगा.थोड़ा इंतज़ार करें. ApigeeEdge पर किए गए आपके बदलावों को, क्लस्टर में डिप्लॉय किए गए Edge माइक्रोगेटवे के इंस्टेंस के साथ सिंक होने में कुछ मिनट लगते हैं.
प्रॉक्सी की जांच करें
इन्ग्रेस आईपी पता पाना
इन्ग्रेस के लिए बाहरी आईपी का इस्तेमाल करके, क्लस्टर के बाहर से Edge माइक्रोगेटवे सेवा को कॉल किया जा सकता है.
इन्ग्रेस कंट्रोलर का बाहरी आईपी पता पाएं:
kubectl get ing -o wide
आउटपुट का उदाहरण:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
इन्ग्रेस डेटा ट्रैफ़िक की
ADDRESS
वैल्यू को कॉपी करें और उसे किसी वैरिएबल में एक्सपोर्ट करें. मैन्युअल तौर पर वैरिएबल सेट किया जा सकता है:export GATEWAY_IP=external_ip
उदाहरण के लिए:
export GATEWAY_IP=35.238.249.62
आप चाहें, तो इस निर्देश को अपने लिए सेट कर सकते हैं:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
पुष्टि करें कि वैरिएबल एक्सपोर्ट किया गया है. उदाहरण के लिए:
echo $GATEWAY_IP
आउटपुट का उदाहरण:
35.238.249.62
एपीआई को कॉल करें
कॉन्फ़िगरेशन में हुए बदलावों को माइक्रोगेटवे में लाने के बाद, एपीआई को कॉल करने की कोशिश की जा सकती है. एपीआई को कॉल करने के लिए, इन्ग्रेस कंट्रोलर आईपी का इस्तेमाल किया जाता है, जिसे आपने GATEWAY_IP
वैरिएबल में सेव किया था. ऐसा इसलिए, क्योंकि इस आईपी की मदद से, आपको Qubernetes क्लस्टर के बाहर से प्रॉक्सी को कॉल करने की सुविधा मिलती है. इन्ग्रेस से एज माइक्रोगेटवे तक की मैपिंग तब बनाई गई थी, जब क्लस्टर में एज माइक्रोगेटवे डिप्लॉय किया गया था.
एपीआई पासकोड के बिना, एपीआई को कॉल करें. आपको गड़बड़ी का मैसेज मिलेगा, जैसा कि नीचे दिखाया गया है:
curl $GATEWAY_IP:80/hello/
अनुमानित आउटपुट:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
अगर आपको यह मैसेज दिखता है, तो सिंक पूरा होने तक आपको थोड़ी देर इंतज़ार करना पड़ सकता है:
{"message":"no match found for /hello/","status":404}
सफल एपीआई कॉल करने के लिए, आपको एपीआई पासकोड की ज़रूरत होगी.
अपने बनाए गए डेवलपर ऐप्लिकेशन से उपभोक्ता कुंजी पाएं. यह वैल्यू वह एपीआई पासकोड है जिसे आपको टेस्ट प्रॉक्सी को कॉल करने के लिए ज़रूरत है:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
उदाहरण के लिए:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
आउटपुट:
Hello world
अगर आपको "नमस्ते दुनिया" जवाब दिखता है, तो इसका मतलब है कि आपने Edge Microgateway को सही तरीके से कॉन्फ़िगर कर लिया है, ताकि Kubernetes क्लस्टर में helloworld सेवा को कॉल किया जा सके.
आगे क्या करना है?
कस्टम प्लगिन जोड़ने, डिप्लॉयमेंट को स्केल करने, कॉन्फ़िगरेशन में बदलाव करने, और ऐसे अन्य टास्क के बारे में जानने के लिए, टास्क सेक्शन देखें.