Edge for Private Cloud نسخه ۴.۱۹.۰۱
اگر درطول بهروزرسانی به Edge 4.19.01 با خطایی مواجه شدید، میتوانید مؤلفهای را که باعث خطا شده است برگردانید و سپس بهروزرسانی را دوباره امتحان کنید.
میتوانید Edge 4.19.01 را به نسخههای «انتشار ویژگی» زیر عقبگرد کنید:
- نسخه ۴.۱۸.۰۵
- نسخه ۴.۱۸.۰۱
- نسخه ۴.۱۷.۰۹*
* برای بازگشت از نسخه 4.19.01 به 4.17.09، باید علاوه بر بازگرداندن مؤلفهها در هر گره، Postgres را نیز بازگردانید. اگر به نسخه ۴.۱۸.۰۱ یا ۴.۱۸.۰۵ برگردید، نیازی به برگرداندن Postgres ندارید زیرا فرایند ارتقا شامل بهروزرسانی Postgres نبود.
دو سناریو وجود دارد که ممکن است بخواهید بازگرداندن را انجام دهید:
- به «نسخه ویژه» قبلی برگردید. برای مثال از 4.19.01 به 4.18.05.
- به نسخه بهروزرسانی قبلی در همان نسخه پخش برگردید. برای مثال، از 4.19.01.02 به 4.19.01.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)
برای مثال، اگر «سرور مدیریت»، «رهیاب»، و «پردازشگر پیام» را در گره نصب کرده باشید، برای بازگرداندن هرکدام از آنها باید هر سه را بازگردانید.
برگشتن به «نسخه ویژگی» قبلی
برای بازگشت از نسخه ۴.۱۹.۰۱ به ۴.۱۷.۰۹، باید علاوهبر بازگرداندن مؤلفهها در هر گره، Postgres را نیز بازگردانید. اگر از نسخه 4.18.01 یا 4.18.05 به عقب برمیگردید، نیازی به بازگرداندن Postgres ندارید زیرا فرایند ارتقا شامل بهروزرسانی Postgres نبوده است.
برای عقبگرد به «انتشار ویژگی» قبلی، در هر گرهای که میزبان مؤلفه است، کارهای زیر را انجام دهید:
-
فایل
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
- برای بازگشت به نسخه ۴.۱۷.۰۹،
bootstrap_4.17.09.shرا بارگیری کنید:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- برای بازگشت به نسخه 4.18.05،
- عنصری را که میخواهید عقبگرد شود متوقف کنید:
- برای بازگرداندن هریک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را متوقف کنید، همانطور که در مثال زیر نشان داده شده است:
/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 - برای عقبگرد کردن هر مؤلفه دیگری در گره، فقط همان مؤلفه را متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service component stop
- برای بازگرداندن هریک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را متوقف کنید، همانطور که در مثال زیر نشان داده شده است:
- اگر «درآمدزایی» را برمیگردانید، آن را از همه گرههای «سرور مدیریت» و «پردازشگر پیام» حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- برای بازگشت به نسخه قبلی در گره، مؤلفه را حذف نصب کنید:
- برای بازگرداندن هریک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را با حذف نصب گروه مؤلفه
edge-gatewayحذف نصب کنید، همانطور که در مثال زیر نشان داده شده است:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- برای بازگرداندن هر مؤلفه دیگری در گره، فقط آن مؤلفه را حذف نصب کنید، همانطور که
مثال زیر نشان میدهد:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
که component نام مؤلفه است.
- برای بازگرداندن Edge Router، باید علاوهبر حذف نصب گروه مؤلفه
edge-gateway، محتوای فایل/opt/nginx/conf.dرا نیز حذف کنید:cd /opt/nginx/conf.d
rm -rf *
- برای بازگرداندن هریک از مؤلفههای دارای کد مشترک در گره، باید همه آنها را با حذف نصب گروه مؤلفه
- نسخه ۴.۱۹.۰۱
apigee-setupرا حذف نصب کنید:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- نسخه ۴.۱۸.۰۵، ۴.۱۸.۰۱، یا ۴.۱۷.۰۹ از ابزار
apigee-serviceو وابستگیهای آن را نصب کنید. مثال زیر نسخه ۴.۱۷.۰۹apigee-serviceرا نصب میکند:sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
که uName و pWord نام کاربری و گذرواژهای است که از Apigee دریافت کردهاید. اگر pWord را حذف کنید، از شما خواسته میشود آن را وارد کنید.
اگر خطایی دریافت کردید، مطمئن شوید فایل
bootstrap.shرا در مرحله ۱ بارگیری کرده باشید. - نصب
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- نسخه قدیمیتر مؤلفه را نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
که component مؤلفه موردنظر برای نصب و configFile فایل پیکربندی شما برای نسخه قدیمیتر است.
- اگر Qpid را برمیگردانید، iptables را پاک کنید:
sudo iptables -F
- این فرایند را برای هر گرهای که میزبان مؤلفهای است که میخواهید برگردانید تکرار کنید.
برای بازگشت از نسخه ۴.۱۹.۰۱ به ۴.۱۷.۰۹، باید علاوهبر بازگرداندن مؤلفهها در هر گره، Postgres را نیز بازگردانید. اگر از نسخه ۴.۱۸.۰۱ یا ۴.۱۸.۰۵ برمیگردید، نیازی به برگرداندن Postgres نیست زیرا فرایند ارتقا شامل بهروزرسانی Postgres نبوده است.
برگشتن به نسخه بهروزرسانی قبلی
برای بازگرداندن مؤلفه به نسخه خاصی از انتشار، در هر گرهای که مؤلفه را میزبانی میکند، کارهای زیر را انجام دهید:
- نسخه عنصر خاص را بارگیری کنید:
/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
- از
apigee-setupبرای نصب مؤلفه استفاده کنید:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
برای مثال:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
توجه داشته باشید که هنگام نصب مؤلفه، فقط نام آن را مشخص میکنید، نه نسخه آن را.
- این فرایند را برای هر گرهای که میزبان مؤلفهای است که میخواهید برگردانید تکرار کنید.
برای بازگشت از نسخه ۴.۱۹.۰۱ به ۴.۱۷.۰۹، باید علاوهبر بازگرداندن مؤلفهها در هر گره، Postgres را نیز بازگردانید. اگر از نسخه 4.18.01 یا 4.18.05 به عقب برمیگردید، نیازی به بازگرداندن Postgres ندارید زیرا فرایند ارتقا شامل بهروزرسانی Postgres نبوده است.
بازگرداندن بهروزرسانی Postgres 9.6
اگر از نسخه ۴.۱۷.۰۹ به ۴.۱۹.۰۱ ارتقا دادهاید، باید علاوهبر مؤلفههای Edge، بهروزرسانی Postgres را نیز برگردانید.
برای بازگرداندن بهروزرسانی Postgres هنگام بهروزرسانی Postgres در پیکربندی master-standby:
- گره آمادهبهکار جدید را ارتقا دهید تا به گره اصلی Postgres تبدیل شود. Postgres master جدید همان نسخه نصب Edge قبلی شما خواهد بود.
- گره آمادهبهکار قدیمی را طوری پیکربندی کنید که گره آمادهبهکار گره اصلی جدید باشد. گره آمادهبهکار قدیمی همان نسخه نصب قبلی Edge خواهد بود.
- گرههای اصلی و آمادهبهکار جدید را با گروههای مصرفکننده و تجزیهوتحلیل ثبت کنید.
وقتی بازگشت به نسخه قبلی را انجام دادید، دیگر به گره اصلی قدیمی نیازی نخواهد بود. سپس میتوانید گره اصلی قدیمی را از کار بیندازید.
- مطمئن شوید گره Postgres آمادهبهکار جدید درحال اجرا باشد:
/opt/apigee/apigee-service/bin/apigee-all status
اگر Postgres درحال اجرا نیست، آن را شروع کنید:
/opt/apigee/apigee-service/bin/apigee-all start
- مطمئن شوید 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
- اگر نصب شده است، Qpid را در گره آمادهبهکار قدیمی شروع کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- گره آمادهبهکار جدید را بهعنوان گره اصلی Postgres ارتقا دهید:
- گره آمادهبهکار جدید را به گره اصلی جدید ارتقا دهید:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
درصورت درخواست، گذرواژه Postgres را برای کاربر «apigee» وارد کنید که بهطور پیشفرض «postgres» است.
- فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا
موارد زیر را مشخص کنید:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- پیکربندی نسخه اصلی جدید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- گره آمادهبهکار جدید را به گره اصلی جدید ارتقا دهید:
- بازسازی گره آمادهبهکار قدیمی:
- فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا
موارد زیر را مشخص کنید:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- برداشتن فهرست راهنمای دادهها در گره آمادهبهکار قدیمی:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- گره آمادهبهکار قدیمی را دوباره پیکربندی کنید تا گره آمادهبهکار اصلی جدید باشد:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- مطمئن شوید Postgres در گره آمادهبهکار قدیمی درحال اجرا است:
/opt/apigee/apigee-service/bin/apigee-all status
اگر درحال اجرا نیست، آن را شروع کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- فایل پیکربندی را که برای نصب نسخه فعلی Edge استفاده کردهاید ویرایش کنید تا
موارد زیر را مشخص کنید:
- با مشاهده فایل
/opt/apigee/apigee-postgresql/conf/pg_hba.confدر گره اصلی جدید، بررسی کنید که گره آمادهبهکار جدید اضافه شده باشد. - با اجرای فرمان زیر در «سرور مدیریت»، اطلاعات گروه مصرفکننده و 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" : { } } - با اجرای فرمان
curlزیر در گره اصلی قدیمی، نشانی UUID گره اصلی قدیمی را دریافت کنید:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
باید UUID گره را در انتهای خروجی به این شکل ببینید:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- مرحله قبلی را تکرار کنید تا نشانیهای IP گره آمادهبهکار قدیمی و گره اصلی جدید را دریافت کنید.
- گرههای اصلی و آمادهبهکار قدیمی را از گروه مصرفکننده بردارید:
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اکنون باید خالی باشد. - گرههای اصلی و آمادهبهکار قدیمی را از گروه تجزیهوتحلیل بردارید:
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اکنون باید خالی باشد. - گرههای اصلی و آمادهبهکار 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 - گروه تجزیهوتحلیل را اعتبارسنجی کنید:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
باید UUIDهای گرههای اصلی و آمادهبهکار جدید را که در گروه تجزیهوتحلیل و گروه مصرفکننده فهرست شدهاند ببینید.
- «سرور مدیریت Edge» را بازراهاندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- همه سرورهای Qpid را بازراهاندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- همه سرورهای Postgres را بازراهاندازی کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- با اجرای اسکریپتهای زیر در هر دو سرور، وضعیت تکرار را تأیید کنید. سیستم
باید نتایج یکسانی را در هر دو سرور نمایش دهد تا از تکرار موفقیتآمیز اطمینان حاصل شود:
در نسخه اصلی جدید، این دستور را اجرا کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
اعتبارسنجی کنید که میگوید اصلی است. در گره آمادهبهکار قدیمی:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
تأیید کنید که میگوید در حالت آمادهبهکار است.
- مرحله قبلی را پساز ایجاد چند درخواست API تکرار کنید تا مطمئن شوید گرهها همگامسازی شدهاند.
- بااستفاده از رویه موجود در
بهروزرسانی Apigee Edge
4.16.01/4.16.05 به 4.17.09، Postgres master قدیمی را از کار بیندازید.
بهعنوان روش جایگزین، میتوانید Qpid را از گره اصلی قدیمی حذف نصب کنید و Qpid را در گره اصلی جدید نصب کنید. پساز حذف نصب Qpid، میتوانید گره اصلی قدیمی را از رده خارج کنید.
Qpid را از سرور اصلی قدیمی حذف نصب کنید و Qpid را در سرور اصلی جدید نصب کنید
برای حذف نصب Qpid از سرور اصلی قدیمی و نصب آن در سرور اصلی جدید:
- با اجرای فرمان زیر در همه «پردازشگرهای پیام»، دسترسی به درگاه Qpid ۵۶۷۲ در سرور اصلی قدیمی را ازطریق «پردازشگرهای پیام» مسدود کنید:
iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- با اجرای فرمان زیر، مطمئن شوید که صف پیام Qpid خالی است. تا زمانی که Qpid همه پیامهای معلقه را پردازش نکرده است، نمیتوانید آن را حذف نصب کنید:
qpid-stat -q
این فرمان جدولی را نمایش میدهد که حاوی تعداد
msg, msgIn, and msgOutاست. وقتیmsg=0، وmsgIn=msgOut، همه پیامها پردازش شدهاند. - با اجرای فرمان زیر در سرور اصلی قدیمی، UUID سرور Qpid را در سرور اصلی قدیمی تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Qpid را در نسخه اصلی قدیمی متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - حذف نصب سرور Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall - سرور قدیمی 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 - سرور Qpid قدیمی را از Zookeeper بردارید:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- Qpid را روی master جدید نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- با اجرای فرمان زیر در سرور اصلی جدید، UUID سرور Qpid را در سرور اصلی جدید تعیین کنید. این اطلاعات را برای مراحل بعدی ذخیره کنید:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- سرور 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 - بازراهاندازی همه پردازشگرهای پیام:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- فرمان زیر را در سرور Qpid جدید اجرا کنید تا بررسی شود که صفها ایجاد شدهاند:
qpid-stat -q
مطمئن شوید که
msg،msgIn، وmsgOutرا میبینید که درحال بهروزرسانی هستند، زیرا سرور Qpid پیامها را پردازش میکند.
اگر هنگام بازگرداندن با مشکل مواجه شدید، با پشتیبانی Apigee Edge تماس بگیرید.