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

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

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

  • वर्शन 4.50.00
  • वर्शन 4.19.06

इन दो स्थितियों में आपको रोल बैक करना पड़ सकता है:

  1. पिछली सुविधा रिलीज़ पर वापस जाएं. उदाहरण के लिए, 4.51.00 से 4.50.00 तक.
  2. उसी रिलीज़ में, पिछले अपडेट वर्शन पर रोल बैक करें. उदाहरण के लिए, 4.50.00.02 से 4.50.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.50.00 पर रोल बैक करने के लिए, bootstrap_4.50.00.sh को डाउनलोड करें:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • वर्शन 4.19.06 पर रोल बैक करने के लिए, bootstrap_4.19.06.sh को डाउनलोड करें:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.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. अगर कमाई करने की सुविधा को फिर से चालू किया जा रहा है, तो इसे मैनेजमेंट सर्वर और मैसेज प्रोसेसर के सभी नोड से अनइंस्टॉल करें:
    /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.51.00 वर्शन को अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service यूटिलिटी के 4.19.06 या 4.50.00 वर्शन और उसकी डिपेंडेंसी इंस्टॉल करें. इस उदाहरण में, apigee-service के 4.50.00 वर्शन को इंस्टॉल करने का तरीका बताया गया है:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    यहां Apigee से मिला उपयोगकर्ता नाम और पासवर्ड uName और pWord हैं. 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 को रोल बैक किया जा रहा है, तो iptable को फ़्लश करें:
    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.18.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.19.06 या 4.50.00 के वर्शन से 4.51.00 पर अपग्रेड किया है, तो आपको Edge कॉम्पोनेंट के साथ-साथ अपने Postgres अपडेट को रोल बैक करना होगा.

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

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

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

  1. पक्का करें कि नया स्टैंडबाय पोस्टग्रेस नोड चालू हो:
    /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. एज के मौजूदा वर्शन को इंस्टॉल करने के लिए आपने जिस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया था उसमें बदलाव करें. इसके बाद, यह जानकारी दी जा सकेगी:
      # 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 बूटस्ट्रैप को चलाने से, पुराने वर्शन के Apigee डेटा के साथ yum डेटा स्टोर करने की जगहें सेट अप हो जाएंगी.
    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. एज के मौजूदा वर्शन को इंस्टॉल करने के लिए आपने जिस कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल किया था उसमें बदलाव करें. इसके बाद, यह जानकारी दी जा सकेगी:
      # 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 निर्देश को चलाकर, पुराने मास्टर का UUID पता पाएं:
    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. आंकड़े और उपभोक्ता के ग्रुप के साथ, नए PG मास्टर और स्टैंडबाय नोड को रजिस्टर करें:
    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

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

  15. Edge मैनेजमेंट सर्वर को रीस्टार्ट करें:
    /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. Update Apigee Edge 4.16.01/4.16.05 से 4.17.09 में दी गई प्रक्रिया का इस्तेमाल करके, पुराने Postgres मास्टर को बंद करें.

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

mTLS को रोल बैक करें

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

  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