Apigee Edge 4.19.01 را به عقب برگردانید

Edge for Private Cloud نسخه 4.19.01

اگر در حین به‌روزرسانی Edge 4.19.01 با خطا مواجه شدید، می‌توانید مؤلفه‌ای که باعث خطا شده است را برگردانید و سپس دوباره به‌روزرسانی را امتحان کنید.

می‌توانید Edge 4.19.01 را به نسخه‌های Feature Release زیر برگردانید:

  • نسخه 4.18.05
  • نسخه 4.18.01
  • نسخه 4.17.09 *

* برای بازگشت از 4.19.01 به 4.17.09، باید Postgres را علاوه بر برگرداندن اجزای هر گره به عقب برگردانید . اگر به 4.18.01 یا 4.18.05 برگردید، لازم نیست Postgres را برگردانید زیرا فرآیند ارتقا شامل به‌روزرسانی Postgres نیست.

دو سناریو وجود دارد که ممکن است بخواهید یک بازگشت را انجام دهید:

  1. به نسخه قبلی ویژگی برگردید . به عنوان مثال از 4.19.01 تا 4.18.05.
  2. به نسخه به‌روزرسانی قبلی در همان نسخه برگردید . به عنوان مثال، از 4.19.01.02 تا 4.19.01.01.

برای اطلاعات بیشتر، روند انتشار Apigee Edge را ببینید.

چه کسی می تواند یک بازگشت را انجام دهد

کاربری که rollback انجام می دهد باید همان کاربری باشد که Edge را در ابتدا به روز کرده است یا کاربری که به عنوان root اجرا می شود.

به طور پیش فرض، اجزای Edge به عنوان کاربر "apigee" اجرا می شوند. در برخی موارد، ممکن است اجزای Edge را به عنوان کاربران مختلف اجرا کنید. به عنوان مثال، اگر روتر باید به پورت های دارای امتیاز دسترسی داشته باشد، مانند پورت های زیر 1000، باید روتر را به عنوان روت یا به عنوان کاربر با دسترسی به آن پورت ها اجرا کنید. یا ممکن است یک مؤلفه را به عنوان یک کاربر و مؤلفه دیگر را به عنوان کاربر دیگر اجرا کنید.

کامپوننت هایی با کد مشترک

اجزای Edge زیر کد مشترکی دارند. بنابراین، برای برگرداندن هر یک از این مؤلفه‌ها در یک گره، باید همه این مؤلفه‌ها را که در آن گره هستند، برگردانید.

  • edge-management-server (مدیریت سرور)
  • edge-message-processor (پردازنده پیام)
  • edge-router (روتر)
  • edge-postgres-server (سرور Postgres)
  • edge-qpid-server (سرور Qpid)

به عنوان مثال، اگر سرور مدیریت، روتر و پردازشگر پیام را روی گره نصب کرده اید، برای بازگرداندن هر یک از آنها باید هر سه را به عقب برگردانید.

به نسخه قبلی ویژگی برگردید

برای برگرداندن از 4.19.01 به 4.17.09، باید Postgres را علاوه بر برگرداندن اجزای هر گره به عقب برگردانید . اگر از 4.18.01 یا 4.18.05 عقب نشینی کنید، نیازی به عقب انداختن Postgres ندارید زیرا فرآیند ارتقا شامل به روز رسانی Postgres نیست.

برای بازگشت به نسخه قبلی ویژگی، موارد زیر را در هر گره ای که مؤلفه را میزبانی می کند انجام دهید:

  1. فایل bootstrap.sh را برای نسخه ای که می خواهید به آن برگردید دانلود کنید:

    • برای بازگشت به نسخه 4.18.05، bootstrap_4.18.05.sh دانلود کنید:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • برای بازگشت به نسخه 4.18.01، bootstrap_4.18.01.sh دانلود کنید:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • برای بازگشت به 4.17.09، bootstrap_4.17.09.sh دانلود کنید:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.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 Router، باید محتویات فایل /opt/nginx/conf.d را علاوه بر حذف نصب گروه مؤلفه edge-gateway حذف کنید:
      cd /opt/nginx/conf.d
      rm -rf *
  5. نسخه 4.19.01 apigee-setup :
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    را حذف نصب کنید
  6. نسخه 4.18.05، 4.18.01 یا 4.17.09 برنامه کاربردی apigee-service و وابستگی های آن را نصب کنید. مثال زیر نسخه 4.17.09 apigee-service نصب می کند:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

    جایی که uName و pWord نام کاربری و رمز عبوری است که از Apigee دریافت کرده‌اید. اگر pWord حذف کنید، از شما خواسته می شود آن را وارد کنید.

    اگر با خطا مواجه شدید، مطمئن شوید که فایل bootstrap.sh را در مرحله 1 دانلود کرده اید.

  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. این فرآیند را برای هر گره ای که میزبان مؤلفه ای است که در حال بازگرداندن آن هستید، تکرار کنید.

برای برگرداندن از 4.19.01 به 4.17.09، باید Postgres را علاوه بر برگرداندن اجزای هر گره به عقب برگردانید . اگر از 4.18.01 یا 4.18.05 عقب نشینی کنید، نیازی به عقب انداختن Postgres ندارید زیرا فرآیند ارتقا شامل به روز رسانی Postgres نیست.

به نسخه به روز رسانی قبلی برگردید

برای برگرداندن یک مؤلفه به نسخه خاصی از یک نسخه، موارد زیر را در هر گره ای که مؤلفه را میزبانی می کند انجام دهید:

  1. نسخه کامپوننت خاص را دانلود کنید:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    جایی که component_version نسخه کامپوننت و به‌روزرسانی برای نصب است. مثلا:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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. این فرآیند را برای هر گره ای که میزبان مؤلفه ای است که در حال بازگرداندن آن هستید، تکرار کنید.

برای برگرداندن از 4.19.01 به 4.17.09، باید Postgres را علاوه بر برگرداندن اجزای هر گره به عقب برگردانید . اگر از 4.18.01 یا 4.18.05 عقب نشینی کنید، نیازی به عقب انداختن Postgres ندارید زیرا فرآیند ارتقا شامل به روز رسانی Postgres نیست.

به روز رسانی Postgres 9.6 را به عقب برگردانید

اگر از نسخه 4.17.09 به 4.19.01 ارتقا داده اید، باید علاوه بر اجزای Edge، به روز رسانی Postgres خود را برگردانید.

برای بازگرداندن به‌روزرسانی Postgres هنگام به‌روزرسانی Postgres در پیکربندی اصلی آماده به کار:

  • گره آماده به کار جدید را برای تبدیل شدن به استاد Postgres تبلیغ کنید. Master جدید 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. گره آماده به کار جدید را به عنوان Master Postgres ارتقا دهید:
    1. گره آماده به کار جدید را به عنوان استاد جدید ارتقا دهید:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      اگر از شما خواسته شد، رمز عبور Postgres را برای کاربر 'apigee' وارد کنید، که پیش فرض آن "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. گره آماده به کار قدیمی را بازسازی کنید:
    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

      اگر در حال اجرا نیست، آن را شروع کنید:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. بررسی کنید که گره آماده به کار جدید با مشاهده فایل /opt/apigee/apigee-postgresql/conf/pg_hba.conf در اصلی جدید اضافه شده است.
  7. با اجرای دستور زیر در سرور مدیریت، تجزیه و تحلیل فعلی و اطلاعات گروه مصرف کننده را مشاهده کنید:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    این دستور نام گروه تحلیلی را در قسمت name و نام گروه مصرف کننده را در قسمت name در زیر consumer-groups برمی گرداند. همچنین UUID های اصلی Postgres و گره های آماده به کار را در قسمت postgres-server و در قسمت datastores برمی گرداند. باید خروجی را به شکل:

    {
      "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" : {
      }
    }
    ببینید
  8. آدرس UUID استاد قدیمی را با اجرای دستور curl زیر در گره اصلی قدیمی دریافت کنید:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    شما باید UUID گره را در انتهای خروجی به شکل زیر ببینید:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. مرحله قبل را تکرار کنید تا آدرس های IP گره آماده به کار قدیمی و اصلی جدید را دریافت کنید.
  10. گره های اصلی و آماده به کار قدیمی را از گروه مصرف کننده حذف کنید:
    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 مشخص کنید.

    ویژگی datastores برای consumer-groups اکنون باید خالی باشد.

  11. گره های اصلی و آماده به کار قدیمی را از گروه تجزیه و تحلیل حذف کنید:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    ویژگی postgres-server تحت uuids اکنون باید خالی باشد.

  12. نودهای جدید PG master و standby را با تجزیه و تحلیل و گروه های مصرف کننده ثبت کنید:
    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
  13. اعتبار گروه تجزیه و تحلیل:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    شما باید UUID گره های اصلی و آماده به کار جدید را در گروه تجزیه و تحلیل و گروه مصرف کننده مشاهده کنید.

  14. سرور Edge Management را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. همه سرورهای Qpid را راه اندازی مجدد کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. همه سرورهای Postgres را راه اندازی مجدد کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. با صدور اسکریپت های زیر در هر دو سرور، وضعیت تکرار را تأیید کنید. برای اطمینان از تکرار موفقیت آمیز، سیستم باید نتایج یکسانی را در هر دو سرور نمایش دهد:

    در استاد جدید، اجرا کنید:

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

    تأیید کنید که می گوید استاد است. در گره آماده به کار قدیمی:

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

    تأیید کنید که می گوید در حالت آماده به کار است.

  18. مرحله قبل را بعد از چندین درخواست API تکرار کنید تا مطمئن شوید که گره ها همگام هستند.
  19. مستر قدیمی Postgres را با استفاده از رویه به‌روزرسانی Apigee Edge 4.16.01/4.16.05 به 4.17.09 از کار انداخت.

    همچنین، می‌توانید Qpid را از اصلی قدیمی حذف کنید و Qpid را روی گره اصلی جدید نصب کنید . پس از حذف نصب Qpid، می توانید گره اصلی قدیمی را از کار بیندازید.

Qpid را از Master قدیمی حذف کنید و Qpid را روی Master جدید نصب کنید

برای حذف Qpid از Master قدیمی و نصب آن بر روی Master جدید:

  1. با اجرای دستور زیر بر روی همه پردازشگرهای پیام، دسترسی به پورت Qpid 5672 در Master قدیمی را از دسترسی پردازشگرهای پیام مسدود کنید:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. با اجرای دستور زیر از خالی بودن صف پیام Qpid اطمینان حاصل کنید. شما نمی توانید Qpid را تا زمانی که تمام پیام های معلق را پردازش نکند حذف نصب کنید:
    qpid-stat -q

    این دستور یک جدول حاوی تعداد msg, msgIn, and msgOut را نمایش می دهد. همه پیام‌ها در صورت msg=0 و msgIn=msgOut پردازش می‌شوند.

  3. UUID سرور Qpid را در مستر قدیمی با اجرای دستور زیر بر روی مستر قدیمی تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Qpid را در استاد قدیمی متوقف کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. سرور Qpid را حذف نصب کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. سرور قدیمی Qpid را از گروه های تجزیه و تحلیل و مصرف کننده حذف کنید:
    curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. سرور قدیمی Qpid را از Zookeeper حذف کنید:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Qpid را روی اصلی جدید نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. UUID سرور Qpid را در master new با اجرای دستور زیر بر روی master new تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. سرور Qpid جدید را با گروه های تجزیه و تحلیل و مصرف کننده ثبت کنید:
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v
  11. همه پردازشگرهای پیام را راه اندازی مجدد کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. دستور زیر را در سرور Qpid جدید اجرا کنید تا بررسی کنید که صف ایجاد شده است:
    qpid-stat -q

    مطمئن شوید که msg ، msgIn و msgOut را می‌بینید که به‌روزرسانی می‌شوند، زیرا سرور Qpid پیام‌ها را پردازش می‌کند.

اگر هنگام بازگشت با مشکل مواجه شدید با پشتیبانی Apigee Edge تماس بگیرید.