Apigee Edge 4.52.00 को रोल बैक करें

अगर Edge 4.52.00 पर अपडेट करने के दौरान कोई गड़बड़ी होती है, तो गड़बड़ी की वजह बनने वाले कॉम्पोनेंट को रोल बैक किया जा सकता है. इसके बाद, फिर से अपडेट करने की कोशिश की जा सकती है.

Edge 4.52.00 को इन फ़ीचर रिलीज़ वर्शन पर रोल बैक किया जा सकता है:

  • वर्शन 4.51.00

इन दो मामलों में, आपको रोलबैक करने की ज़रूरत पड़ सकती है:

  1. सुविधाओं की पिछली रिलीज़ पर रोल बैक करना. उदाहरण के लिए, 4.52.00 से 4.51.00 पर डाउनग्रेड करना.
  2. उसी रिलीज़ में, अपडेट के पिछले वर्शन पर रोल बैक करना. उदाहरण के लिए, 4.52.00.02 से 4.52.00.01 पर.

ज़्यादा जानकारी के लिए, Apigee Edge की रिलीज़ प्रोसेस देखें.

रोलबैक कौन कर सकता है

रोलबैक करने वाला उपयोगकर्ता वही होना चाहिए जिसने Edge को अपडेट किया था या रूट के तौर पर काम करने वाला उपयोगकर्ता होना चाहिए.

डिफ़ॉल्ट रूप से, Edge कॉम्पोनेंट "apigee" उपयोगकर्ता के तौर पर चलते हैं. कुछ मामलों में, ऐसा हो सकता है कि Edge के कॉम्पोनेंट को अलग-अलग उपयोगकर्ताओं के तौर पर चलाया जा रहा हो. उदाहरण के लिए, अगर राऊटर को खास अधिकार वाले पोर्ट ऐक्सेस करने हैं, जैसे कि 1,000 से कम वाले पोर्ट, तो आपको राऊटर को रूट के तौर पर या ऐसे उपयोगकर्ता के तौर पर चलाना होगा जिसके पास उन पोर्ट का ऐक्सेस हो. इसके अलावा, आपके पास एक कॉम्पोनेंट को एक उपयोगकर्ता के तौर पर और दूसरे कॉम्पोनेंट को दूसरे उपयोगकर्ता के तौर पर चलाने का विकल्प होता है.

कॉमन कोड वाले कॉम्पोनेंट

Edge के ये कॉम्पोनेंट, सामान्य कोड शेयर करते हैं. इसलिए, किसी नोड पर इनमें से किसी एक कॉम्पोनेंट को रोल बैक करने के लिए, आपको उस नोड पर मौजूद इन सभी कॉम्पोनेंट को रोल बैक करना होगा.

  • edge-management-server (मैनेजमेंट सर्वर)
  • edge-message-processor (मैसेज प्रोसेसर)
  • edge-router (राऊटर)
  • edge-postgres-server (Postgres सर्वर)
  • edge-qpid-server (Qpid सर्वर)

उदाहरण के लिए, अगर आपने नोड पर मैनेजमेंट सर्वर, राऊटर, और मैसेज प्रोसेसर इंस्टॉल किया है, तो इनमें से किसी एक को रोल बैक करने के लिए, आपको तीनों को रोल बैक करना होगा.

सुविधाओं की पिछली रिलीज़ पर रोल बैक करना

सुविधा के पिछले रिलीज़ पर वापस जाने के लिए, कॉम्पोनेंट को होस्ट करने वाले हर नोड पर यह तरीका अपनाएं:

  1. आपको जिस वर्शन पर वापस जाना है उसके लिए bootstrap.sh फ़ाइल डाउनलोड करें:

    • 4.51.00 पर वापस जाने के लिए, bootstrap_4.51.00.sh डाउनलोड करें:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. रोल बैक करने के लिए, कॉम्पोनेंट को रोकें:
    1. नोड पर कॉमन कोड वाले किसी भी कॉम्पोनेंट को रोल बैक करने के लिए, आपको उन सभी को रोकना होगा. जैसा कि इस उदाहरण में दिखाया गया है:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. नोड पर मौजूद किसी अन्य कॉम्पोनेंट को रोल बैक करने के लिए, सिर्फ़ उस कॉम्पोनेंट को रोकें:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. अगर आपको Monetization को रोल बैक करना है, तो इसे सभी मैनेजमेंट सर्वर और मैसेज प्रोसेसर नोड से अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. नोड पर रोल बैक करने के लिए, कॉम्पोनेंट को अनइंस्टॉल करें:
    1. नोड पर कॉमन कोड वाले किसी भी कॉम्पोनेंट को रोल बैक करने के लिए, आपको उन सभी को अनइंस्टॉल करना होगा. इसके लिए, edge-gateway कॉम्पोनेंट ग्रुप को अनइंस्टॉल करें. इसका उदाहरण यहां दिया गया है:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. नोड पर मौजूद किसी अन्य कॉम्पोनेंट को रोल बैक करने के लिए, सिर्फ़ उस कॉम्पोनेंट को अनइंस्टॉल करें. इसके लिए, यहां दिया गया उदाहरण देखें:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      जहां component कॉम्पोनेंट का नाम है.

    3. Edge राऊटर को रोल बैक करने के लिए, आपको edge-gateway कॉम्पोनेंट ग्रुप को अनइंस्टॉल करने के साथ-साथ, /opt/nginx/conf.d फ़ाइल का कॉन्टेंट भी मिटाना होगा:
      cd /opt/nginx/conf.d
      rm -rf *
  5. apigee-setup का 4.52.00 वर्शन अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service यूटिलिटी का 4.51.00 वर्शन और इसकी डिपेंडेंसी इंस्टॉल करें. यहां दिए गए उदाहरण में, apigee-service का 4.51.00 वर्शन इंस्टॉल करने का तरीका बताया गया है:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    यहां uName और pWord, वह उपयोगकर्ता नाम और पासवर्ड है जो आपको Apigee से मिला है. अगर आपने pWord को शामिल नहीं किया है, तो आपको इसे डालने के लिए कहा जाएगा.

    अगर आपको कोई गड़बड़ी मिलती है, तो पक्का करें कि आपने पहले चरण में bootstrap.sh फ़ाइल डाउनलोड की हो.

  7. apigee-setup इंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. कॉम्पोनेंट का पुराना वर्शन इंस्टॉल करें:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    जहां component इंस्टॉल किया जाने वाला कॉम्पोनेंट है और configFile पुराने वर्शन के लिए आपकी कॉन्फ़िगरेशन फ़ाइल है.

  9. अगर Qpid को रोल बैक किया जा रहा है, तो iptables को फ़्लश करें:
    sudo iptables -F
  10. यह प्रोसेस हर उस नोड के लिए दोहराएं जो उस कॉम्पोनेंट को होस्ट करता है जिसे आपको रोल बैक करना है.

अपडेट के पिछले वर्शन पर रोल बैक करना

किसी कॉम्पोनेंट को रिलीज़ के किसी खास वर्शन पर वापस लाने के लिए, कॉम्पोनेंट को होस्ट करने वाले हर नोड पर यह तरीका अपनाएं:

  1. कॉम्पोनेंट का कोई खास वर्शन डाउनलोड करने के लिए:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    जहां component_version, इंस्टॉल किए जाने वाले कॉम्पोनेंट और अपडेट का वर्शन है. उदाहरण के लिए:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

    अगर Apigee की ऑनलाइन रिपॉज़िटरी का इस्तेमाल किया जा रहा है, तो कॉम्पोनेंट के उपलब्ध वर्शन का पता लगाने के लिए, इस कमांड का इस्तेमाल करें:

    yum --showduplicates list comp

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

    yum --showduplicates list edge-ui
  2. कॉम्पोनेंट इंस्टॉल करने के लिए, apigee-setup का इस्तेमाल करें:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

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

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    ध्यान दें कि कॉम्पोनेंट इंस्टॉल करते समय, आपको सिर्फ़ उसका नाम बताना होता है, उसका वर्शन नहीं.

  3. यह प्रोसेस हर उस नोड के लिए दोहराएं जो उस कॉम्पोनेंट को होस्ट करता है जिसे आपको रोल बैक करना है.

Postgres 10.17 के अपडेट को रोल बैक करना

अगर आपने 4.50.00 या 4.51.00 वर्शन से 4.52.00 पर अपग्रेड किया है, तो आपको Edge कॉम्पोनेंट के साथ-साथ Postgres अपडेट को भी रोल बैक करना होगा.

मास्टर-स्टैंडबाय कॉन्फ़िगरेशन में Postgres को अपडेट करते समय, Postgres अपडेट को रोलबैक करने के लिए:

  • नए स्टैंडबाय नोड को Postgres मास्टर के तौर पर प्रमोट करें. नया Postgres मास्टर, आपके पिछले Edge इंस्टॉलेशन के वर्शन जैसा ही होगा.
  • पुराने स्टैंडबाय नोड को नए मास्टर के स्टैंडबाय नोड के तौर पर कॉन्फ़िगर करें. पुराना स्टैंडबाय नोड, आपके Edge के पिछले इंस्टॉलेशन के वर्शन जैसा ही होगा.
  • ऐनलिटिक्स और उपभोक्ता ग्रुप के साथ, नए मास्टर और स्टैंडबाय नोड रजिस्टर करें.

रोलबैक की प्रोसेस पूरी होने के बाद, पुराने मास्टर नोड की ज़रूरत नहीं होगी. इसके बाद, पुराने मास्टर नोड को बंद किया जा सकता है.

  1. पक्का करें कि नया स्टैंडबाय Postgres नोड चल रहा हो:
    /opt/apigee/apigee-service/bin/apigee-all status

    अगर Postgres नहीं चल रहा है, तो इसे शुरू करें:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. पक्का करें कि Postgres को पुराने मास्टर नोड और पुराने स्टैंडबाय नोड पर बंद कर दिया गया हो:
    /opt/apigee/apigee-service/bin/apigee-all status

    अगर Postgres चल रहा है, तो उसे बंद करें:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. अगर इंस्टॉल है, तो पुराने स्टैंडबाय नोड पर Qpid शुरू करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. नए स्टैंडबाय नोड को Postgres मास्टर के तौर पर प्रमोट करें:
    1. नए स्टैंडबाय नोड को नया मास्टर बनाएं:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      अगर कहा जाए, तो 'apigee' उपयोगकर्ता के लिए Postgres पासवर्ड डालें. यह डिफ़ॉल्ट रूप से "postgres" पर सेट होता है.

    2. Edge के मौजूदा वर्शन को इंस्टॉल करने के लिए इस्तेमाल की गई कॉन्फ़िगरेशन फ़ाइल में बदलाव करें, ताकि इनके बारे में बताया जा सके:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. नए मास्टर को कॉन्फ़िगर करें:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. अगर आपने पुराने स्टैंडबाय नोड को पहले ही नए वर्शन में अपग्रेड कर लिया है, तो आपको पहले पुराने स्टैंडबाय नोड पर Apigee सॉफ़्टवेयर को डाउनग्रेड करना होगा. अगर आपके पास पुराने स्टैंडबाय नोड पर अब भी पुराना वर्शन है, तो इस चरण को छोड़ा जा सकता है. इसके बाद, छठे चरण पर जाएं.
    1. पुराने स्टैंडबाय नोड पर Postgres को बंद करें:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. पुराने स्टैंडबाय नोड से Postgres को अनइंस्टॉल करें:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. पुराने स्टैंडबाय नोड से Postgres डेटा डायरेक्ट्री मिटाएं:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. पुराने स्टैंडबाय नोड पर, पुराने वर्शन का बूटस्ट्रैप डाउनलोड करें और चलाएं. यह उस Apigee वर्शन के लिए होना चाहिए जिस पर आपको वापस जाना है. इंस्टॉलेशन के लिए इंटरनेट का इस्तेमाल करने या ऑफ़लाइन इंस्टॉलेशन करने के आधार पर, तरीका अलग-अलग हो सकता है. Apigee बूटस्ट्रैप के पुराने वर्शन को चलाने से, yum रिपॉज़िटरी को Apigee डेटा के पुराने वर्शन के साथ सेट अप किया जाएगा.
    5. पुराने स्टैंडबाय नोड पर Postgres कॉम्पोनेंट सेट अप करें:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. देखें और पुष्टि करें कि पुराने स्टैंडबाय नोड पर Postgres कॉम्पोनेंट, पुराने वर्शन पर रोल बैक हो गए हैं:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. पुराने स्टैंडबाय नोड को फिर से बनाएं:
    1. Edge के मौजूदा वर्शन को इंस्टॉल करने के लिए इस्तेमाल की गई कॉन्फ़िगरेशन फ़ाइल में बदलाव करें, ताकि इनके बारे में बताया जा सके:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. पुराने स्टैंडबाय नोड पर मौजूद डेटा डायरेक्ट्री को हटाएं:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. पुराने स्टैंडबाय नोड को नए मास्टर के स्टैंडबाय नोड के तौर पर फिर से कॉन्फ़िगर करें:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. पक्का करें कि Postgres, पुराने स्टैंडबाय नोड पर चल रहा हो:
      /opt/apigee/apigee-service/bin/apigee-all status

      अगर Postgres नहीं चल रहा है, तो इसे शुरू करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. नए मास्टर पर /opt/apigee/apigee-postgresql/conf/pg_hba.conf फ़ाइल देखकर पुष्टि करें कि नया स्टैंडबाय नोड जोड़ा गया है.
  8. मैनेजमेंट सर्वर पर यह कमांड चलाकर, मौजूदा आंकड़ों और उपभोक्ता ग्रुप की जानकारी देखें:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    यह निर्देश, name फ़ील्ड में Analytics ग्रुप का नाम और consumer-groups के तहत name फ़ील्ड में उपभोक्ता ग्रुप का नाम दिखाता है. यह postgres-server फ़ील्ड और datastores फ़ील्ड में, पुराने Postgres मास्टर और स्टैंडबाय नोड के यूयूआईडी भी दिखाता है. आपको इस फ़ॉर्मैट में आउटपुट दिखेगा:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  9. पुराने मास्टर नोड पर यह curl कमांड चलाकर, पुराने मास्टर का यूयूआईडी पता पाएं:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    आपको आउटपुट के आखिर में नोड का यूयूआईडी इस फ़ॉर्मैट में दिखेगा:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. पुराने स्टैंडबाय नोड और नए मास्टर नोड के आईपी पते पाने के लिए, पिछला चरण दोहराएं.
  11. उपभोक्ता ग्रुप से पुराने मास्टर और स्टैंडबाय नोड हटाएं:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    जहां axgroup-001 और consumer-group-001, आंकड़ों और उपभोक्ता ग्रुप के डिफ़ॉल्ट नाम हैं. masterUUID,standbyUUID उसी क्रम में हैं जिस क्रम में वे ऊपर दिए गए मौजूदा आंकड़ों और उपभोक्ता ग्रुप की जानकारी में दिख रहे हैं. आपको उन्हें standbyUUID,masterUUID के तौर पर बताना पड़ सकता है.

    consumer-groups के लिए datastores प्रॉपर्टी अब खाली होनी चाहिए.

  12. Analytics ग्रुप से पुराने मास्टर और स्टैंडबाय नोड हटाएं:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    uuids में मौजूद postgres-server प्रॉपर्टी अब खाली होनी चाहिए.

  13. ऐनलिटिक्स और उपभोक्ता ग्रुप के साथ नए पीजी मास्टर और स्टैंडबाय नोड रजिस्टर करें:
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  14. Analytics ग्रुप की पुष्टि करें:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    आपको ऐनलिटिक्स ग्रुप और उपभोक्ता ग्रुप में, नए मास्टर और स्टैंडबाय नोड के यूयूआईडी दिखने चाहिए.

  15. Edge Management Server को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. सभी Qpid सर्वर रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. सभी Postgres सर्वर रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. दोनों सर्वर पर ये स्क्रिप्ट चलाकर, रेप्लिकेशन की स्थिति की पुष्टि करें. सिस्टम को दोनों सर्वर पर एक जैसे नतीजे दिखाने चाहिए, ताकि यह पक्का किया जा सके कि रेप्लिकेशन सही तरीके से हुआ है:

    नए मास्टर पर, यह चलाएं:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    पुष्टि करें कि यह मास्टर है. पुराने स्टैंडबाय नोड पर:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    पुष्टि करें कि यह स्टैंडबाय मोड है.

  19. कई एपीआई अनुरोध करने के बाद, पिछले चरण को दोहराएं. इससे यह पक्का किया जा सकेगा कि नोड सिंक हो गए हैं.
  20. Postgres नोड को बंद करना में दी गई प्रोसेस का इस्तेमाल करके, पुराने Postgres मास्टर को बंद करें.

    इसके अलावा, पुराने मास्टर से Qpid को अनइंस्टॉल करके, नए मास्टर नोड पर Qpid को इंस्टॉल किया जा सकता है. Qpid को अनइंस्टॉल करने के बाद, पुराने मास्टर नोड को हटाया जा सकता है.

एमटीएलएस को रोल बैक करें

एमटीएलएस अपडेट को पहले जैसा करने के लिए, सभी होस्ट पर यह तरीका अपनाएं:

  1. Apigee को बंद करना:
    apigee-all stop
  2. mTLS बंद करना:
    apigee-service apigee-mtls uninstall
  3. mTLS को फिर से इंस्टॉल करें:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf