برگرداندن Apigee Edge به نسخه ۴.۵۱.۰۰

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

می‌توانید Edge 4.51.00 را به نسخه‌های «انتشار ویژگی» زیر عقب‌گرد کنید:

  • نسخه 4.50.00
  • نسخه ۴.۱۹.۰۶

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

  1. به «نسخه ویژه» قبلی برگردید. برای مثال از 4.51.00 به 4.50.00.
  2. به نسخه به‌روزرسانی قبلی در همان نسخه پخش برگردید. برای مثال، از 4.50.00.02 به 4.50.00.01.

برای اطلاعات بیشتر، به فرایند انتشار Apigee Edge مراجعه کنید.

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

کاربری که بازگشت به نسخه قبلی را انجام می‌دهد باید همان کاربری باشد که در ابتدا Edge را به‌روزرسانی کرده است، یا کاربری که به‌عنوان root اجرا می‌شود.

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

عنصرهایی با کد مشترک

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

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

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

برگشتن به «نسخه ویژگی» قبلی

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

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

    • برای بازگشت به نسخه ۴.۵۰.۰۰، bootstrap_4.50.00.sh را بارگیری کنید:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • برای بازگشت به نسخه ۴.۱۹.۰۶، 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 Router، باید علاوه‌بر حذف نصب گروه مؤلفه edge-gateway، محتوای فایل /opt/nginx/conf.d را نیز حذف کنید:
      cd /opt/nginx/conf.d
      rm -rf *
  5. حذف نصب نسخه ۴.۵۱.۰۰ از apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. نسخه ۴.۱۹.۰۶ یا ۴.۵۰.۰۰ از ابزار apigee-service و وابستگی‌های آن را نصب کنید. مثال زیر نسخه ۴.۵۰.۰۰ apigee-service را نصب می‌کند:
    sudo bash /tmp/bootstrap_4.50.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.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 در پیکربندی master-standby:

  • گره آماده‌به‌کار جدید را ارتقا دهید تا به گره اصلی Postgres تبدیل شود. Postgres master جدید همان نسخه نصب 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

      درصورت درخواست، گذرواژه 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 را در گره آماده‌به‌کار قدیمی تنزل دهید. اگر هنوز نسخه قدیمی‌تر را در گره آماده‌به‌کار قدیمی دارید، می‌توانید از این مرحله رد شوید و به مرحله ۶ بروید.
    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. با اجرای فرمان زیر در «سرور مدیریت»، اطلاعات گروه مصرف‌کننده و Analytics فعلی را مشاهده کنید:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    این فرمان نام گروه Analytics را در فیلد 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. با اجرای فرمان curl زیر در گره اصلی قدیمی، نشانی UUID گره اصلی قدیمی را دریافت کنید:
    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 جدید را با گروه‌های مصرف‌کننده و تجزیه‌وتحلیل ثبت کنید:
    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» را بازراه‌اندازی کنید:
    /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. بااستفاده از رویه موجود در به‌روزرسانی Apigee Edge 4.16.01/4.16.05 به 4.17.09، Postgres master قدیمی را از کار بیندازید.

    به‌عنوان روش جایگزین، می‌توانید 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