Edge माइक्रोगेटवे को सेवा के तौर पर डिप्लॉय करें

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

परिचय

यह विषय बताता है कि Kubernetes क्लस्टर में Edge Microgateway को स्टैंडअलोन सेवा.

ज़्यादा जानकारी के लिए, Kubernetes की खास जानकारी के साथ Edge Microgateway को इंटिग्रेट करना लेख पढ़ें.

शुरू करने से पहले

ज़रूरी शर्तों में बताए गए चरणों को पूरा करें.

Edge माइक्रोगेटवे को कॉन्फ़िगर करें

नीचे दिया गया निर्देश आपके Apigee संगठन के लिए Edge माइक्रोगेटवे को कॉन्फ़िगर करता है और प्रॉक्सी edgemicro-auth को डिप्लॉय करता है.

  1. नीचे दिया गया निर्देश चलाएं:

    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!
    

Edge माइक्रोगेटवे को सेवा के तौर पर डिप्लॉय करें

  1. Edge माइक्रोगेटवे को अपनी Kubernetes क्लस्टर:

    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 कमांड से दिखाया गया है.

    उदाहरण के लिए:

    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
    
  2. नीचे दिए गए कोड को कॉपी करके अपने टर्मिनल में चिपकाएं. कोड, इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर को सेट अप करता है, ताकि 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 को कॉन्फ़िगर किया जा सकता है. इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर, edge-microgateway सेवा को बाहरी ऐक्सेस देने की अनुमति देता है.

  1. helloworld सैंपल सेवा डिप्लॉय करें. क्योंकि इन्ग्रेस को पता नहीं चलता इस सेवा के बारे में है, तो सेवा को क्लस्टर के बाहर से कॉल नहीं किया जा सकता.

    kubectl apply -f samples/helloworld/helloworld-service.yaml

    आउटपुट का उदाहरण:

    service "helloworld" created deployment "helloworld" created
    
  2. पुष्टि करें कि डिप्लॉयमेंट पूरा हो गया है. ध्यान दें कि इसके लिए कोई बाहरी IP नहीं है helloworld सेवा. नीचे दिए गए चरणों में, आपको Edge कॉन्फ़िगर करना होगा सेवा के इंटरनल आईपी को ऐक्सेस करने का माइक्रोगेटवे.

    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
    

सेवा के लिए प्रॉक्सी के लिए, Edge माइक्रोगेटवे को कॉन्फ़िगर करें

helloworld सेवा का इंटरनल आईपी लें और उसे टारगेट के तौर पर जोड़ें "माइक्रोगेटवे-अवेयर" का प्रॉक्सी. "माइक्रोगेटवे-अवेयर" बनाना प्रॉक्सी एक स्टैंडर्ड एज माइक्रोगेटवे की ज़रूरी शर्तें.

माइक्रोगेटवे-अवेयर के बारे में आपको क्या जानना ज़रूरी है, यह भी देखें प्रॉक्सी.

टेस्ट सेवा के लिए इंटरनल आईपी पता पाना

  1. 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
    
  2. CLUSTER-IP और PORT की वैल्यू कॉपी करें. उदाहरण के लिए, उदाहरण में ऊपर, ये मान हैं: 10.55.254.255 और 8081. आपके लिए मान तो सिस्टम अलग होगा.

Edge पर माइक्रोगेटवे-अवेयर प्रॉक्सी बनाएं

  1. Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
  2. वही संगठन चुनें जिसे आपने कॉन्फ़िगर करते समय पहले शामिल किया था एज माइक्रोगेटवे.
  3. डेवलप करें > एपीआई प्रॉक्सी पर क्लिक करें.
  4. + प्रॉक्सी पर क्लिक करें. प्रॉक्सी बनाएं विज़र्ड खुल जाता है.
  5. पहले विज़र्ड पेज में, रिवर्स प्रॉक्सी (सबसे सामान्य) चुनें.
  6. आगे बढ़ें पर क्लिक करें.
  7. विज़र्ड के ज़्यादा जानकारी वाले पेज में, नीचे बताए गए तरीके से कॉन्फ़िगर करें. कृपया इसे भरना न भूलें जैसा कि ऊपर बताया गया है. पक्का करें कि प्रॉक्सी के नाम में प्रीफ़िक्स लगा हो edgemicro_.

    1. प्रॉक्सी नेम: edgemicro_hello
    2. प्रॉक्सी बेस पाथ: /hello

    3. मौजूदा एपीआई: http://<cluster_ip>:<port>

      उदाहरण के लिए: http://10.55.254.255:8081

  8. आगे बढ़ें पर क्लिक करें.

  9. विज़ार्ड के सुरक्षा पेज में, पास थ्रू (कोई नहीं) को चुनें.

  10. आगे बढ़ें पर क्लिक करें.

  11. विज़ार्ड के वर्चुअल होस्ट पेज में, डिफ़ॉल्ट स्वीकार करें.

  12. आगे बढ़ें पर क्लिक करें.

  13. विज़ार्ड के बिल्ड पेज में, अपनी प्रॉक्सी सेटिंग की समीक्षा करें. पक्का करें कि test एनवायरमेंट चुना गया है.

  14. बनाएं और डिप्लॉय करें पर क्लिक करें.

डेवलपर बनाएं

जांच करने के लिए, किसी मौजूदा डेवलपर का इस्तेमाल किया जा सकता है या नया डेवलपर बनाया जा सकता है. इसके लिए, यह तरीका अपनाएं:

  1. पब्लिश करें > को चुनें डेवलपर पर क्लिक करें.
  2. + डेवलपर पर क्लिक करें.
  3. नया डेवलपर बनाने के लिए, डायलॉग बॉक्स भरें. किसी भी डेवलपर का इस्तेमाल किया जा सकता है नाम/ईमेल को खोजें.

एक एपीआई प्रॉडक्ट बनाएं

नीचे बताए गए तरीके से एक एपीआई प्रॉडक्ट बनाएं. आप प्रॉडक्ट: edgemicro-auth और edgemicro-auth.

यहाँ पर, एपीआई प्रॉडक्ट के बारे में आपको क्या जानना ज़रूरी है में प्रॉडक्ट कॉन्फ़िगरेशन के विकल्प कॉन्फ़िगरेशन.

  1. पब्लिश करें > को चुनें एपीआई प्रॉडक्ट सेक्शन पर जाएं.
  2. + एपीआई प्रॉडक्ट पर क्लिक करें. प्रॉडक्ट की जानकारी वाला पेज दिखेगा.
  3. प्रॉडक्ट की जानकारी वाले पेज को नीचे बताए गए तरीके से भरें. इस तारीख तक 'सेव करें' पर क्लिक न करें ऐसा करने के निर्देश दिए गए हों.

    नाम hello-world-product
    डिसप्ले नेम Edge Micro hello product
    परिवेश test
    ऐक्सेस Public
    अनुमति का मुख्य टाइप Automatic
  4. पेज के निचले आधे हिस्से में, + कस्टम संसाधन पर क्लिक करें.

  5. रिसॉर्स को / (एक स्लैश) पर सेट करें.

  6. + कस्टम संसाधन फिर से चुनें और पाथ /** जोड़ें.

  7. पेज के सबसे नीचे वाले हिस्से में, + एपीआई प्रॉक्सी पर क्लिक करें.

  8. edgemicro-auth नाम की प्रॉक्सी चुनें.

  9. + एपीआई प्रॉक्सी पर फिर से क्लिक करें.

  10. edgemicro_hello नाम का माइक्रोगेटवे-अवेयर प्रॉक्सी चुनें.

  11. सेव करें पर क्लिक करें.

डेवलपर ऐप्लिकेशन बनाना

  1. पब्लिश करें > को चुनें ऐप्लिकेशन पर क्लिक करें.
  2. + ऐप्लिकेशन पर क्लिक करें. डेवलपर ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज दिखेगा.
  3. डेवलपर ऐप्लिकेशन पेज को नीचे बताए गए तरीके से भरें. जब तक निर्देश न दिया जाए, तब तक सेव न करें शामिल हैं.

    नाम hello-world-app
    डिसप्ले नेम Edge Micro hello app
    डेवलपर उस टेस्ट डेवलपर को चुनें जिसे आपने बनाया है. ऐसा न करने पर, किसी भी डेवलपर को ठीक किया जा सकता है.
  4. क्रेडेंशियल सेक्शन में, + प्रॉडक्ट पर क्लिक करें और वह प्रॉडक्ट चुनें निर्माण तारीख: hello-world-product.

  5. सेव करें पर क्लिक करें.

  6. आप उस पेज पर वापस आ गए हैं जहां सभी डेवलपर ऐप्लिकेशन की सूची दी गई है.

  7. आपने अभी जो ऐप्लिकेशन बनाया है hello-world-app उसे चुनें.

  8. उपभोक्ता कुंजी के बगल में मौजूद दिखाएं पर क्लिक करें.

  9. उपभोक्ता कुंजी की वैल्यू कॉपी करें. यह मान एपीआई पासकोड, जिसका इस्तेमाल करके, सुरक्षित एपीआई कॉल किए जाएंगे /hello.

  10. थोड़ा इंतज़ार करें. Apigee पर किए गए बदलावों को लागू होने में कुछ मिनट लगते हैं Edge माइक्रोगेटवे के इंस्टेंस के साथ सिंक करने के लिए Edge क्लस्टर.

प्रॉक्सी की जांच करें

इन्ग्रेस डेटा ट्रैफ़िक का आईपी पता पाएं

इन्ग्रेस डेटा ट्रैफ़िक के एक्सटर्नल आईपी पते का इस्तेमाल करके, Edge माइक्रोगेटवे सेवा को कॉल किया जा सकता है क्लस्टर से बाहर से.

  1. इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर का बाहरी आईपी पता पाएं:

    kubectl get ing -o wide

    आउटपुट का उदाहरण:

    NAME                        HOSTS     ADDRESS          PORTS     AGE
    edge-microgateway-ingress   *         35.238.249.62    80        37m
    
  2. इन्ग्रेस डेटा ट्रैफ़िक के लिए 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:]")
  3. पुष्टि करें कि वैरिएबल एक्सपोर्ट किया गया है. उदाहरण के लिए:

    echo $GATEWAY_IP

    आउटपुट का उदाहरण:

    35.238.249.62
    

एपीआई को कॉल करें

कॉन्फ़िगरेशन में किए गए बदलावों को माइक्रोगेटवे में लाने के बाद, एपीआई को कॉल करके देखें. इन्ग्रेस डेटा ट्रैफ़िक कंट्रोलर का आईपी इस्तेमाल करें, जिसे आपने GATEWAY_IP वैरिएबल में सेव किया है एपीआई को कॉल करने की अनुमति दें, क्योंकि यह आईपी आपको Kubernetes क्लस्टर के बाहर से प्रॉक्सी को कॉल करने की सुविधा देता है. कॉन्टेंट बनाने जब आपने Edge Microgateway को डिप्लॉय किया था, तब इन्ग्रेस डेटा ट्रैफ़िक और एज माइक्रोगेटवे को मैप किया गया था क्लस्टर में.

  1. एपीआई पासकोड के बिना एपीआई को कॉल करें. आपको गड़बड़ी का मैसेज मिलेगा, जैसा कि दिखाया गया है नीचे दिया गया है:

    curl $GATEWAY_IP:80/hello/

    अनुमानित आउटपुट:

    {"error":"missing_authorization","error_description":"Missing Authorization
    header"}
    

    अगर आपको यह मैसेज दिखता है, तो हो सकता है कि आपको सिंक की प्रोसेस पूरी होने तक थोड़ा इंतज़ार करना पड़े पूरा हो गया है:

    {"message":"no match found for /hello/","status":404}
    

    एपीआई कॉल पूरे करने के लिए, आपको एपीआई पासकोड की ज़रूरत होगी.

  2. अपने बनाए गए डेवलपर ऐप्लिकेशन से उपभोक्ता कुंजी पाएं. यह मान परीक्षण प्रॉक्सी को कॉल करने के लिए आपको API कुंजी की आवश्यकता होगी:

    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
    

    अगर आपको "नमस्ते वर्ल्ड" दिखता है, तो रिस्पॉन्स मिलता है, तो आपने पूरी तरह से कॉन्फ़िगर कर लिया है कुबेरनेट्स में हेलोवर्ल्ड सेवा का जश्न मनाने के लिए एज माइक्रोगेटवे क्लस्टर.

आगे क्या करना है?

जानकारी के लिए, Tasks सेक्शन देखें कस्टम प्लगिन जोड़ने, डिप्लॉयमेंट को स्केल करने, कॉन्फ़िगरेशन में बदलाव करने, और अन्य काम जिन्हें करने की ज़रूरत पड़ सकती है.