आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
परिचय
यह विषय बताता है कि Kubernetes क्लस्टर में Edge Microgateway को एक साइडकार प्रॉक्सी. आपके पास साइडकार डिप्लॉयमेंट के लिए दो विकल्प हैं: मैन्युअल और ऑटोमैटिक इंजेक्शन. इस विषय में दोनों विकल्पों के बारे में बताया गया है.
ज़्यादा जानकारी के लिए, Kubernetes पर Edge Microgateway के बारे में जानकारी देखें.
शुरू करने से पहले
ज़रूरी शर्तों में बताए गए चरणों को पूरा करें.
टेस्ट सेवा डिप्लॉय करना
"नमस्ते" इस्तेमाल करने का तरीका और डिप्लॉयमेंट की पुष्टि करें:
सैंपल डिप्लॉय करें:
kubectl apply -f samples/helloworld/helloworld.yaml --namespace=default
पुष्टि करें कि सेवा चल रही है. आपको कुछ समय तक इंतज़ार करना पड़ सकता है पॉड, रनिंग स्टेट में घूमता है:
kubectl get pods --namespace=default
आउटपुट का उदाहरण:
NAME READY STATUS RESTARTS AGE helloworld-569d6565f9-lwrrv 1/1 Running 0 17m
टेस्ट सेवा के डिप्लॉयमेंट को मिटाएं. चालू करने के बाद, आपको उसे फिर से इंस्टॉल करना होगा साइडकार इंजेक्शन:
kubectl delete -f samples/helloworld/helloworld.yaml --namespace=default
मैन्युअल साइड कार इंजेक्शन का इस्तेमाल करना
साइड कार इंजेक्शन के दो विकल्पों में से, मैन्युअल साइड कार इंजेक्शन आसान और आसान है
अप्रोच का इस्तेमाल किया जाता है और इसे एक kubectl
निर्देश से पूरा किया जा सकता है.
Edge माइक्रोगेटवे को कॉन्फ़िगर करें
नीचे दिया गया निर्देश आपके Apigee संगठन के लिए Edge माइक्रोगेटवे को कॉन्फ़िगर करता है
और प्रॉक्सी edgemicro-auth
को डिप्लॉय करता है.
नीचे दिया गया निर्देश चलाएं:
edgemicro configure -o [org] -e [env] -u [username]
कहां:
org
: आपके Edge संगठन का नाम (यह ज़रूरी है कि आप संगठन के एडमिन हों).env
: आपके संगठन में कोई एनवायरमेंट (जैसे, टेस्ट या प्रोडक्शन).username
: आपके Apigee खाते से जुड़ा ईमेल पता.
उदाहरण
edgemicro configure -o myorg -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!
एज माइक्रोगेटवे को साइडकार के तौर पर इंजेक्ट करें
Edge माइक्रोगेटवे को, साइडकार प्रॉक्सी के तौर पर सर्विस पॉड में मैन्युअल तरीके से इंजेक्ट करने के लिए, यह आदेश:
kubectl apply -f <(edgemicroctl -org=your_org -env=your_env -key=your_key -sec=your_secret -conf=config_file_path -svc=service_deployment_file)
कहां:
your_org
- Apigee संगठन जिसे आपनेedgemicro configure
कमांड में बताया है.your_env
- वह एनवायरमेंट जिसे आपनेedgemicro configure
निर्देश में तय किया है.your_key
-edgemicro configure
निर्देश से मिली कुंजी.your_secret
-edgemicro configure
निर्देश से सीक्रेट लौटाया गया.config_file_path
- एज माइक्रो कॉन्फ़िगरेशन फ़ाइल का पाथ,edgemicro configure
कमांड से दिखाया गया है.service_deployment_file
- उस सेवा की डिप्लॉयमेंट फ़ाइल का पाथ जिसका पॉड साथी कार की सेवा खोजो. उदाहरण के लिए:samples/helloworld/helloworld.yaml
.
उदाहरण के लिए:
kubectl apply -f <(edgemicroctl -org=myorg -env=test-key=0e3ecea28a64099410594406b30e54439af5265f8 -sec=e3919250bee37c69cb2e5b41170b488e1c1d -conf=/Users/jdoe/.edgemicro/myorg-test-config.yaml -svc=samples/helloworld/helloworld.yaml)
कॉन्फ़िगरेशन की जांच करना
सर्विस डिप्लॉयमेंट की जांच करें:
kubectl get services -n default
आउटपुट का उदाहरण:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.15.254.163 <none> 8081:32401/TCP 56s kubernetes ClusterIP 10.15.240.1 <none> 443/TCP 41m
अब आप एज माइक्रोगेटवे के साइडकार डिप्लॉयमेंट की जांच करने के लिए तैयार हैं. इस पर जाएं चरणों की पूरी जानकारी के लिए, प्रॉक्सी की जांच करें.
अपने-आप साइड कार इंजेक्शन का इस्तेमाल करना
नीचे दिए गए चरणों में, अपने-आप साइड कार इंजेक्शन को कॉन्फ़िगर किया जाएगा Kubernetes क्लस्टर. इस सेटअप की मदद से एज माइक्रोगेटवे को साइडकार के तौर पर इंजेक्ट किया जा सकता है Kubernetes में प्रॉक्सी कर सकते हैं.
साइडकार इंजेक्टर इंस्टॉल करें
ConfigMap इंस्टॉल करें जो एज माइक्रोगेटवे के साइडकार इंजेक्शन को चालू करता है:
kubectl apply -f install/kubernetes/edgemicro-sidecar-injector-configmap-release.yaml
वेबहुक सेवा को इंस्टॉल करने के लिए, नीचे दी गई स्क्रिप्ट चलाएं. इसके लिए वेबहुक सेवा ज़रूरी है ऑटोमेटिक साइड कार इंजेक्शन:
./install/kubernetes/webhook-create-signed-cert.sh \ --service edgemicro-sidecar-injector \ --namespace edgemicro-system \ --secret sidecar-injector-certs
वेबहुक इंस्टॉलेशन फ़ाइल में सीए बंडल जोड़ें. द कुबेरनेट्स वेबहुक को शुरू करने के लिए, एपीआई सर्वर इस फ़ाइल का इस्तेमाल करता है:
cat install/kubernetes/edgemicro-sidecar-injector.yaml | \ ./install/kubernetes/webhook-patch-ca-bundle.sh > \ install/kubernetes/edgemicro-sidecar-injector-with-ca-bundle.yaml
Edge Microgateway साइडकार इंजेक्टर वेबहुक इंस्टॉल करें:
kubectl apply -f install/kubernetes/edgemicro-sidecar-injector-with-ca-bundle.yaml
आउटपुट का उदाहरण:
service "edgemicro-sidecar-injector" created serviceaccount "edgemicro-sidecar-injector-service-account" created deployment "edgemicro-sidecar-injector" created mutatingwebhookconfiguration "edgemicro-sidecar-injector" created
पुष्टि करें कि Edge Microgateway साइडकार इंजेक्टर वेबहुक चल रहा है:
kubectl -n edgemicro-system get deployment -ledgemicro=sidecar-injector
आउटपुट का उदाहरण:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE edgemicro-sidecar-injector 1 1 1 1 12m
पुष्टि करें कि साइडकार इंजेक्शन पॉड आपके क्लस्टर में चल रहा है. नेमस्पेस
edgemicro-system
वह जगह है जहां सिस्टम की सेवाएं इंस्टॉल की जाती हैं. इनमें, इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर, डिफ़ॉल्ट एचटीटीपी बैकएंड, और साइडकार इंजेक्टर:kubectl get pods -n edgemicro-system
आउटपुट का उदाहरण:
NAME READY STATUS RESTARTS AGE default-http-backend-55c6c69b88-gfnfd 1/1 Running 0 1h edgemicro-ingress-controller-64444469bf-jhn8b 1/1 Running 3 1h edgemicro-sidecar-injector-7d95698fbf-cq84q 1/1 Running 0 3m
Edge माइक्रोगेटवे को कॉन्फ़िगर और इंजेक्ट करना
अगले चरण में, एज माइक्रोगेटवे बनाने के लिए आपको एक इंटरैक्टिव स्क्रिप्ट मिलेगी Kubernetes नेमस्पेस से जुड़ा कॉन्फ़िगरेशन. फिर, आप कॉन्फ़िगरेशन को ध्यान में रखना ज़रूरी है.
नीचे दी गई इंटरैक्टिव स्क्रिप्ट चलाएं और अनुरोध किए गए पैरामीटर डालें. कॉन्टेंट बनाने निर्देश एक कॉन्फ़िगरेशन प्रोफ़ाइल जनरेट करता है, जिसका उपयोग आप अगले चरण में करेंगे.
./install/kubernetes/webhook-edgemicro-patch.sh
इनपुट पैरामीटर के बारे में जानकारी पाने के लिए, रेफ़रंस देखें.
इनपुट के उदाहरण:
Namespace to deploy application [default]:
Enter दबाएँ.
Authenticate with OAuth Token ("n","Y") [N/y]
n डालें.
Apigee username [required]:
Apigee का उपयोगकर्ता नाम (ईमेल पता) डालें. उदाहरण के लिए:
jdoe@google.com
.Apigee password [required]:
Apigee पासवर्ड डालें.
Apigee organization [required]:
अपने Apigee संगठन का नाम डालें.
Apigee environment [required]:
अपने संगठन के लिए एनवायरमेंट का नाम डालें. उदाहरण के लिए, "जांच".
Virtual Host [default]:
Enter दबाएँ.
Is this Private Cloud ("n","y") [N/y]:
अगर आप Public Cloud पर हैं, तो n डालें.
Edgemicro Key. Press Enter to generate:
Enter दबाएँ.
Edgemicro Secret. Press Enter to generate:
Enter दबाएँ.
Edgemicro org-env-config.yaml. Press Enter to generate:
Enter दबाएँ.
आउटपुट का उदाहरण:
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 config initialized to /Users/jdoe/.edgemicro/default.yaml Configure for Cloud ****************************************************************************************** Config file is Generated in /Users/jdoe/Work/GITHUB/microgateway_2.5.25_Darwin_x86_64/config directory. Please make changes as desired. *****************************************************************************************
Do you agree to proceed("n","y") [N/y]:
y डालें.
आउटपुट का उदाहरण:
Configuring Microgateway with key:daacf75dd660d160b801c9117fb1ec0935896615479e39dbbae88be81a2d84 secret:a60fd57c1db9f3a06648173fb541cb9c59188d3b6037a76f490ebf7a6584b0 config:~/.edgemicro/jdoe-test-config.yaml ******************************************************************************************************** kubectl apply -f install/kubernetes/edgemicro-config-namespace-bundle.yaml ********************************************************************************************************
आउटपुट की आखिरी लाइन में दिए गए निर्देश को चलाएं. यह
kubectl
निर्देश जनरेट की गई Edge Microgateway कॉन्फ़िगरेशन प्रोफ़ाइल को Kubernetes में इंजेक्ट करता है:kubectl apply -f install/kubernetes/edgemicro-config-namespace-bundle.yaml
वेबहुक इंजेक्शन की स्थिति देखें. ध्यान दें कि फ़िलहाल यह सुविधा चालू नहीं है:
kubectl get namespace -L edgemicro-injection
आउटपुट का उदाहरण:
NAME STATUS AGE EDGEMICRO-INJECTION default Active 1d edgemicro-system Active 1d kube-public Active 1d kube-system Active 1d
वेबहुक के लिए वेबहुक इंजेक्शन चालू करने के लिए, यह निर्देश चलाएं:
kubectl label namespace default edgemicro-injection=enabled
वेबहुक इंजेक्शन की स्थिति फिर से देखें. ध्यान दें कि अब यह चालू हो गया है:
kubectl get namespace -L edgemicro-injection
आउटपुट का उदाहरण:
NAME STATUS AGE EDGEMICRO-INJECTION default Active 1d enabled edgemicro-system Active 1d kube-public Active 1d kube-system Active 1d
जांच की सेवा का इस्तेमाल करें
अब जांच सेवा को फिर से डिप्लॉय करें. एज माइक्रोगेटवे अपने-आप इंजेक्ट कर दिया जाएगा में शामिल हो सकते हैं.
kubectl apply -f samples/helloworld/helloworld.yaml --namespace=default
पुष्टि करें कि एज माइक्रोगेटवे को टेस्ट के साथ पॉड में इंजेक्ट किया गया था सेवा:
kubectl get pods --namespace=default --watch
आउटपुट का उदाहरण:
NAME READY STATUS RESTARTS AGE
helloworld-6987878fc4-pkw8h 0/2 PodInitializing 0 12s
helloworld-6987878fc4-pkw8h 2/2 Running 0 26s
जब स्थिति Running
में बदल जाए, तो निर्देश से बाहर निकलने के लिए ctrl-c
दबाएं.
अब, आप Edge Microgateway के ऑटोमैटिक साइड कार डिप्लॉयमेंट की जांच करने के लिए तैयार हैं. इस पर जाएं चरणों की पूरी जानकारी के लिए, प्रॉक्सी की जांच करें.
प्रॉक्सी की जांच करें
साइडकार डिप्लॉयमेंट के साथ, आपकी सेवा के लिए एक एपीआई प्रॉक्सी अपने-आप बन जाती है. आप करें इसे "Edge Microgateway-aware" बनाने की ज़रूरत नहीं है प्रॉक्सी.
इन्ग्रेस डेटा ट्रैफ़िक का आईपी पता पाएं
इन्ग्रेस डेटा ट्रैफ़िक के बाहरी आईपी पते का इस्तेमाल करके, सेवा को कॉल किया जा सकता है क्लस्टर से बाहर से.
इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर का बाहरी आईपी पता पाएं:
kubectl get ing -o wide
आउटपुट का उदाहरण:
NAME HOSTS ADDRESS PORTS AGE gateway * 35.238.13.54 80 1m
इन्ग्रेस डेटा ट्रैफ़िक के लिए
EXTERNAL-IP
वैल्यू कॉपी करें और उसे किसी वैरिएबल में एक्सपोर्ट करें. आपने लोगों तक पहुंचाया मुफ़्त में चर को मैन्युअल रूप से सेट कर सकता है:export GATEWAY_IP=external_ip
उदाहरण के लिए:
export GATEWAY_IP=35.238.249.62
या इसे अपने लिए सेट करने के लिए इस निर्देश का इस्तेमाल करें:
export GATEWAY_IP=$(kubectl describe ing gateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
पुष्टि करें कि वैरिएबल एक्सपोर्ट किया गया है. उदाहरण के लिए:
echo $GATEWAY_IP
आउटपुट का उदाहरण:
35.238.249.62
सेवा को कॉल करें:
curl $GATEWAY_IP
आउटपुट:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
इसके बाद, एपीआई प्रॉडक्ट और डेवलपर ऐप्लिकेशन को कॉन्फ़िगर करके, अनुमति न देने की गड़बड़ी को ठीक किया जाएगा ताकि आपको एक मान्य API कुंजी मिल सके. जब आप किसी अनुमति में कुंजी जोड़ते हैं हेडर है, तो कॉल सफल होगा और आपको यह गड़बड़ी नहीं दिखेगी.
Apigee Edge पर कॉम्पोनेंट बनाना
इसके बाद, एपीआई प्रॉडक्ट और Apigee Edge पर डेवलपर ऐप्लिकेशन बनाएं.
एपीआई प्रॉडक्ट बनाना
- Apigee Edge में लॉग इन करें.
- पब्लिश करें > को चुनें एपीआई प्रॉडक्ट सेक्शन पर जाएं.
- + एपीआई प्रॉडक्ट पर क्लिक करें. इसके बाद, प्रॉडक्ट पेज दिखेगा.
प्रॉडक्ट पेज को नीचे बताए गए तरीके से भरें. जिन फ़ील्ड के बारे में नीचे नहीं बताया गया है उनके लिए आपको डिफ़ॉल्ट वैल्यू का इस्तेमाल कर सकता है. तब तक सेव न करें, जब तक आपके लिए निर्देश न दिया जाए.
नाम hello-world-product
डिसप्ले नेम Edge Micro hello product
परिवेश test
पाथ सेक्शन में, + कस्टम संसाधन पर क्लिक करें.
पाथ
/
जोड़ें.+ कस्टम संसाधन पर फिर से क्लिक करें और पाथ
/**
जोड़ेंएपीआई प्रॉक्सी सेक्शन में, + एपीआई प्रॉक्सी पर क्लिक करें और Edgemicro-auth जोड़ें.
एपीआई प्रॉडक्ट को सेव करें.
डेवलपर ऐप्लिकेशन बनाना
- साइड नेविगेशन मेन्यू में, ऐप्लिकेशन चुनें.
- + ऐप्लिकेशन पर क्लिक करें. डेवलपर ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज दिखेगा.
डेवलपर ऐप्लिकेशन पेज को नीचे बताए गए तरीके से भरें. जब तक निर्देश न दिया जाए, तब तक सेव न करें शामिल हैं.
नाम hello-world-app
डिसप्ले नेम Edge Micro hello app
डेवलपर ड्रॉपडाउन मेन्यू से डेवलपर चुनें. क्रेडेंशियल सेक्शन में, + प्रॉडक्ट पर क्लिक करें और
hello-world-product
आपने अभी-अभी बनाया है.सेव करें पर क्लिक करें.
आप उस पेज पर वापस आ गए हैं जहां सभी डेवलपर ऐप्लिकेशन की सूची दी गई है.
आपने अभी जो ऐप्लिकेशन बनाया है
hello-world-app
उसे चुनें.उपभोक्ता कुंजी के बगल में मौजूद दिखाएं पर क्लिक करें.
उपभोक्ता कुंजी की वैल्यू कॉपी करें. यह मान एपीआई पासकोड, जिसका इस्तेमाल करके, सुरक्षित एपीआई कॉल किए जाएंगे
helloworld
सेवा.थोड़ा इंतज़ार करें. Apigee पर किए गए बदलावों को लागू होने में कुछ मिनट लगते हैं Edge माइक्रोगेटवे के इंस्टेंस के साथ सिंक करने के लिए Edge क्लस्टर.
एपीआई को कॉल करें
कॉन्फ़िगरेशन में किए गए बदलावों को माइक्रोगेटवे में लाने के बाद, नीचे दी गई जांच करें.
एपीआई पासकोड के बिना एपीआई को कॉल करें. आपको गड़बड़ी का मैसेज मिलेगा, जैसा कि दिखाया गया है नीचे दिया गया है:
curl $GATEWAY_IP
अनुमानित आउटपुट:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
एपीआई कॉल पूरे करने के लिए, आपको एपीआई पासकोड की ज़रूरत होगी.
अपने बनाए गए डेवलपर ऐप्लिकेशन से उपभोक्ता कुंजी पाएं. यह मान परीक्षण प्रॉक्सी को कॉल करने के लिए आपको API कुंजी की आवश्यकता होगी:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP
उदाहरण के लिए:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP
आउटपुट:
Hello world
"नमस्ते दुनिया" हेलोवर्ल्ड सेवा की ओर से प्रतिक्रिया दी जाती है पॉड को शामिल किया. उस सेवा को की गई कॉल सबसे पहले एज माइक्रोगेटवे से होकर गुज़री, जहां पुष्टि की गई. अगर आपको "नमस्ते वर्ल्ड" दिखता है, तो रिस्पॉन्स के बाद, आपने Edge Microgateway को हैलोवर्ल्ड सर्विस पॉड में साइडकार प्रॉक्सी के रूप में काम कर रहे हैं.
आगे क्या करना है?
जानकारी के लिए, Tasks सेक्शन देखें कस्टम प्लगिन जोड़ने, डिप्लॉयमेंट को स्केल करने, कॉन्फ़िगरेशन में बदलाव करने, और अन्य काम जिन्हें करने की ज़रूरत पड़ सकती है.