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

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

می‌توانید Edge 4.52.01 را به نسخه‌های اصلی زیر برگردانید:

  • نسخه 4.52.00
  • نسخه 4.51.00

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

  1. به نسخه اصلی یا فرعی قبلی برگردید . به عنوان مثال از 4.52.01 تا 4.52.00.
  2. به نسخه پچ قبلی در همان نسخه برگردید . به عنوان مثال، از 4.52.00.02 تا 4.52.00.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)

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

به نسخه اصلی یا فرعی قبلی برگردید

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

  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. اگر می خواهید کسب درآمد را به عقب برگردانید، آن را از تمام گره های سرور مدیریت و پردازشگر پیام حذف نصب کنید:
    /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. برای برگرداندن مسیریاب لبه، باید محتویات فایل /opt/nginx/conf.d را علاوه بر حذف نصب گروه مؤلفه edge-gateway حذف کنید:
      cd /opt/nginx/conf.d
      rm -rf *
  5. نسخه 4.52.01 apigee-setup را حذف نصب کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. نسخه 4.51.00 ابزار apigee-service و وابستگی های آن را نصب کنید. مثال زیر نسخه 4.51.00 apigee-service را نصب می کند:
    sudo bash /tmp/bootstrap_4.51.00.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. این فرآیند را برای هر گره ای که میزبان مؤلفه ای است که در حال بازگرداندن آن هستید، تکرار کنید.

به نسخه پچ قبلی برگردید

برای برگرداندن یک کامپوننت به یک انتشار پچ خاص، موارد زیر را در هر گره ای که کامپوننت را میزبانی می کند انجام دهید:

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

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

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

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

  12. گره های اصلی و آماده به کار قدیمی را از گروه تجزیه و تحلیل حذف کنید:
    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 اکنون باید خالی باشد.

  13. نودهای جدید 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
  14. اعتبار گروه تجزیه و تحلیل:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

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

  15. سرور Edge Management را مجددا راه اندازی کنید:
    /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. مرحله قبل را بعد از چندین درخواست API تکرار کنید تا مطمئن شوید که گره ها همگام هستند.
  20. مستر قدیمی Postgres را با استفاده از روش Decommissioning a Postgres node از کار خارج کنید.

    همچنین، می‌توانید 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