نشر تطبيق Java باستخدام Open Liberty/WebSphere Liberty على مجموعة ARO
يوضح هذا الدليل كيفية تشغيل تطبيق Java أو Java EE أو Jakarta EE أو MicroProfile على وقت تشغيل Open Liberty/WebSphere Liberty ثم نشر التطبيق المعبأ في حاويات إلى مجموعة Azure Red Hat OpenShift (ARO) 4 باستخدام عامل تشغيل Open Liberty. سترشدك هذه المقالة خلال إعداد تطبيق Liberty ، وبناء صورة تطبيق Docker وتشغيل التطبيق المعبأ في حاويات على مجموعة ARO 4. لمزيد من المعلومات حول الحرية المفتوحة، راجع صفحة مشروع الحرية المفتوحة. لمزيد من المعلومات حول WebSphere Liberty، راجع صفحة منتج WebSphere Liberty.
هام
على الرغم من أن ARO يتم هندستها وتشغيلها ودعمها بشكل مشترك من قبل Red Hat و Microsoft لتوفير تجربة دعم متكاملة، فإن البرنامج الذي تقوم بتشغيله أعلى ARO، بما في ذلك البرنامج الموضح في هذه المقالة، يخضع لشروط الدعم والترخيص الخاصة به. للحصول على تفاصيل حول دعم ARO، راجع دورة حياة الدعم ل Azure Red Hat OpenShift 4. للحصول على تفاصيل حول دعم البرنامج الموضح في هذه المقالة، راجع الصفحات الرئيسية لهذا البرنامج كما هو موضح في المقالة.
المتطلبات الأساسية
ملاحظة
يتطلب Azure Red Hat OpenShift ما لا يقل عن 40 مركز معالجة لإنشاء نظام مجموعة OpenShift وتشغيلها. لا تفي حصة موارد Azure الافتراضية لاشتراك Azure الجديد بهذا المطلب. لطلب زيادة في حد المورد، راجع الحصة القياسية: زيادة الحدود حسب سلسلة VM. لاحظ أن الاشتراك التجريبي المجاني غير مؤهل لزيادة الحصص، قم بالترقية إلى اشتراك الدفع أولا بأول قبل طلب زيادة الحصص.
أكمل المتطلبات الأساسية التالية للسير بنجاح من خلال هذا الدليل.
قم بإعداد جهاز محلي مع تثبيت نظام تشغيل يشبه يونكس (على سبيل المثال، أوبونتو، ماك أو إس).
قم بتثبيت تنفيذ لـ Java SE (على سبيل المثال، AdoptOpenJDK OpenJDK 8 LTS/OpenJ9).
قم بتثبيت Maven 3.5.0 أو أحدث.
قم بتثبيت Docker لنظام التشغيل الخاص بك.
قم بتثبيت Azure CLI 2.0.75 أو إصدار أحدث.
تحقق وقم بتثبيته
envsubstإذا لم يكن مثبتا مسبقا في نظام التشغيل الخاص بك.استنساخ التعليمات البرمجية لهذه العينة على النظام المحلي الخاص بك. العينة متاحة على GitHub.
اتبع الإرشادات الواردة في إنشاء مجموعة OpenShift 4 ذات قبعة حمراء Azure.
على الرغم من أن خطوة "الحصول على سر سحب القبعة الحمراء" تم تصنيفها على أنها اختيارية ، إلا أنها مطلوبة لهذه المقالة. يتيح سر السحب لمجموعة OpenShift الخاصة ب Azure Red Hat العثور على مشغل Open Liberty.
إذا كنت تخطط لتشغيل تطبيقات كثيفة الذاكرة على نظام المجموعة، فحدد حجم الجهاز الظاهري المناسب للعقد العاملة باستخدام المعلمة
--worker-vm-size. على سبيل المثال،Standard_E4s_v3هو الحد الأدنى لحجم الجهاز الظاهري لتثبيت عامل تشغيل Elasticsearch على مجموعة. لمزيد من المعلومات، انظر:الاتصال إلى الكتلة باتباع الخطوات الواردة في الاتصال إلى مجموعة Azure Red Hat OpenShift 4.
- تأكد من اتباع الخطوات الواردة في "تثبيت OpenShift CLI" لأننا سنستخدم
ocالأمر لاحقا في هذه المقالة. - اكتب عنوان URL لوحدة تحكم المجموعة. سيكون شكلها على هذا النحو
https://console-openshift-console.apps.<random>.<region>.aroapp.io/. - أحيط علما بوثائق التفويض
kubeadmin. - تأكد من اتباع الخطوات الواردة في "الاتصال باستخدام OpenShift CLI" مع بيانات الاعتماد
kubeadmin.
- تأكد من اتباع الخطوات الواردة في "تثبيت OpenShift CLI" لأننا سنستخدم
تثبيت مشغل Open Liberty OpenShift
بعد إنشاء المجموعة والاتصال بها، قم بتثبيت عامل تشغيل Open Liberty. صفحة البداية الرئيسية لمشغل Open Liberty موجودة على GitHub.
سجل الدخول إلى وحدة تحكم الويب OpenShift من المستعرض باستخدام بيانات الاعتماد
kubeadmin.انتقل إلى OperatorsOperatorHub> وابحث عن Open Liberty.
حدد فتح الحرية من نتائج البحث.
حدد Install.
في الصفحة عامل تشغيل التثبيت، تحقق من beta2لقناة التحديث، وجميع مساحات الأسماء على الكتلة (افتراضي)لوضع التثبيت، وتلقائيللموافقة على التحديث:

حدد تثبيت وانتظر دقيقة أو دقيقتين حتى يكتمل التثبيت.
لاحظ أن مشغل Open Liberty مثبت بنجاح وجاهز للاستخدام. إذا لم تقم بذلك، فقم بتشخيص المشكلة وحلها قبل المتابعة.
إنشاء مساحة اسم OpenShift لتطبيق Java
اتبع الإرشادات أدناه لإنشاء مساحة اسم OpenShift لاستخدامها مع تطبيقك.
تأكد من تسجيل الدخول إلى وحدة تحكم الويب OpenShift من المستعرض باستخدام بيانات الاعتماد
kubeadmin.انتقل إلى AdministrationNamespacesإنشاء>>مساحة اسم.
املأ
open-liberty-demoالاسموحدد إنشاء، كما هو موضح بعد ذلك.
إنشاء قاعدة بيانات Azure لـ MySQL
اتبع الإرشادات أدناه لإعداد قاعدة بيانات Azure ل MySQL لاستخدامها مع تطبيقك. إذا كان تطبيقك لا يتطلب قاعدة بيانات، فيمكنك تخطي هذا القسم.
قم بإنشاء قاعدة بيانات واحدة في قاعدة بيانات Azure SQL باتباع الخطوات الواردة في: التشغيل السريع: إنشاء قاعدة بيانات Azure لخادم MySQL باستخدام مدخل Azure. ارجع إلى هذا المستند بعد إنشاء قاعدة البيانات.
ملاحظة
- في الخطوة الأساسيات، اكتب اسم الخادم.mysql.database.azure.comوتسجيل دخول مسؤول الخادموكلمة المرور.
بمجرد إنشاء قاعدة البيانات الخاصة بك، افتح أمان SQL serverConnection> وأكمل الإعدادات التالية:
- قم بتعيين السماح بالوصول إلى خدمات Azure إلىنعم.
- حدد إضافة عنوان IP للعميل الحالي.
- اضبط الحد الأدنى لإصدار TLS على >1.0 وحدد حفظ.

افتح قاعدة بيانات> SQL الخاصة بكسلاسل> الاتصال حدد JDBC. اكتب رقم المنفذ بعد عنوان خادم sql. على سبيل المثال، 3306 هو رقم المنفذ في المثال أدناه.
String url ="jdbc:mysql://<Server name>.mysql.database.azure.com:3306/{your_database}?useSSL=true&requireSSL=false"; myDbConn = DriverManager.getConnection(url, "<Server admin login>", {your_password});إذا لم تقم بإنشاء قاعدة بيانات في الخطوات المذكورة أعلاه، فاتبع الخطوات الواردة في التشغيل السريع: إنشاء قاعدة بيانات Azure لخادم MySQL باستخدام مدخل Azure#connect-to-the-server-by-useing-mysqlexe لإنشاء واحدة. ارجع إلى هذا المستند بعد إنشاء قاعدة البيانات.
ملاحظة
- اكتب اسم قاعدة البيانات التي قمت بإنشائها.
إعداد طلب ليبرتي
سنستخدم تطبيق Java EE 8 كمثال لنا في هذا الدليل. Open Liberty هو خادم متوافق مع ملف تعريف Java EE 8 الكامل ، بحيث يمكنه تشغيل التطبيق بسهولة. Open Liberty هو أيضا جاكرتا EE 8 كامل الملف الشخصي متوافق.
قم بتشغيل التطبيق على Open Liberty
لتشغيل التطبيق على Open Liberty ، تحتاج إلى إنشاء ملف تكوين خادم Open Liberty حتى يتمكن المكون الإضافي Liberty Maven من حزم التطبيق للنشر. المكون الإضافي Liberty Maven غير مطلوب لنشر التطبيق على OpenShift. ومع ذلك ، سنستخدمه في هذا المثال مع وضع مطور (dev) في Open Liberty. يتيح لك وضع المطور تشغيل التطبيق محليا بسهولة. أكمل الخطوات التالية على الكمبيوتر المحلي.
اتبع الخطوات الواردة في هذا القسم لإعداد نموذج التطبيق للاستخدام لاحقا في هذه المقالة. تستخدم هذه الخطوات Maven و liberty-maven-plugin. لمعرفة المزيد حول liberty-maven-plugin، راجع إنشاء تطبيق ويب باستخدام Maven.
تحقق من التطبيق
قم بنسخ عينة التعليمات البرمجية لهذا الدليل. العينة متاحة على GitHub. هناك ثلاث عينات في المستودع. سنستخدم الحرية المفتوحة على aro / 3-التكامل / connect-db / mysql. هنا هو هيكل ملف التطبيق.
open-liberty-on-aro/3-integration/connect-db/mysql
├─ src/main/
│ ├─ aro/
│ │ ├─ db-secret.yaml
│ │ ├─ openlibertyapplication.yaml
│ ├─ docker/
│ │ ├─ Dockerfile
│ │ ├─ Dockerfile-local
│ │ ├─ Dockerfile-wlp
│ │ ├─ Dockerfile-wlp-local
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ pom.xml
تحتوي الدلائل javaوالمواردوتطبيق الويب على التعليمات البرمجية المصدر لنموذج التطبيق. تعلن التعليمة البرمجية عن مصدر بيانات يسمى jdbc/JavaEECafeDB.
في دليل aro ، وضعنا ملفين للنشر. يتم استخدامdb-secret.xml لإنشاء أسرار مع بيانات اعتماد اتصال DB. يتم استخدام ملف openlibertyapplication.yaml لنشر صورة التطبيق.
في دليل docker ، وضعنا أربعة Dockerfiles. يستخدم Dockerfile-local لتصحيح الأخطاء المحلي، ويستخدم Dockerfile لإنشاء الصورة لنشر ARO. يعمل هذان الملفان مع Open Liberty. يتم استخدام Dockerfile-wlp-local و Dockerfile-wlp أيضا لتصحيح الأخطاء المحلية وبناء الصورة لنشر ARO على التوالي ، ولكن بدلا من ذلك العمل مع WebSphere Liberty.
في دليل الحرية/التكوين ، يتم استخدام server.xml لتكوين اتصال قاعدة البيانات لمجموعة الحرية المفتوحة وWebSphere Liberty.
بناء مشروع
الآن بعد أن قمت بجمع الخصائص اللازمة ، يمكنك إنشاء التطبيق. يقرأ ملف POM للمشروع العديد من الخصائص من البيئة.
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql
# The following variables will be used for deployment file generation
export DB_SERVER_NAME=<Server name>.mysql.database.azure.com
export DB_PORT_NUMBER=3306
export DB_NAME=<Database name>
export DB_USER=<Server admin username>@<Server name>
export DB_PASSWORD=<Server admin password>
export NAMESPACE=open-liberty-demo
mvn clean install
اختبار التطبيق الخاص بك محليا
liberty:devc استخدم الأمر لتشغيل المشروع واختباره محليا قبل التعامل مع أي تعقيد Azure. لمزيد من المعلومات حول liberty:devc، راجع وثائق المكون الإضافي Liberty.
في نموذج التطبيق ، قمنا بإعداد Dockerfile-local و Dockerfile-wlp-local للاستخدام مع liberty:devc.
ابدأ تشغيل بيئة عامل الرصيف المحلي إذا لم تكن قد فعلت ذلك بالفعل. تختلف الإرشادات الخاصة بالقيام بذلك وفقا لنظام التشغيل المضيف.
بدء تشغيل التطبيق في
liberty:devcالوضعcd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # If you are running with Open Liberty mvn liberty:devc -Ddb.server.name=${DB_SERVER_NAME} -Ddb.port.number=${DB_PORT_NUMBER} -Ddb.name=${DB_NAME} -Ddb.user=${DB_USER} -Ddb.password=${DB_PASSWORD} -Ddockerfile=target/Dockerfile-local # If you are running with WebSphere Liberty mvn liberty:devc -Ddb.server.name=${DB_SERVER_NAME} -Ddb.port.number=${DB_PORT_NUMBER} -Ddb.name=${DB_NAME} -Ddb.user=${DB_USER} -Ddb.password=${DB_PASSWORD} -Ddockerfile=target/Dockerfile-wlp-localتحقق من أن التطبيق يعمل كما هو متوقع. يجب أن تشاهد رسالة مشابهة
[INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds.في إخراج الأمر إذا نجحت. انتقل إلى في متصفحك وتحقق من إمكانية الوصول إلىhttp://localhost:9080/التطبيق وأن جميع الوظائف تعمل.اضغط
Ctrl+Cلوضع الإيقافliberty:devc.
إعداد صورة التطبيق
لنشر تطبيق Liberty وتشغيله على مجموعة ARO 4 ، قم بحاوية تطبيقك كصورة Docker باستخدام صور حاوية Open Liberty أو صور حاويةWebSphere Liberty.
أكمل الخطوات التالية لإنشاء صورة التطبيق:
قم بإنشاء التطبيق والدفع إلى دفق الصور
نظرا لأنك قمت بالفعل بتشغيل التطبيق بنجاح في حاوية Liberty Docker ، فستقوم بإنشاء الصورة عن بعد على المجموعة عن طريق تنفيذ الأوامر التالية.
تأكد من تسجيل الدخول بالفعل إلى OpenShift CLI باستخدام بيانات الاعتماد
kubeadmin.تحديد الدليل المصدر و Dockerfile.
cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql # Fetch maven artifactId as image name, maven build version as image version IMAGE_NAME=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.artifactId}' --non-recursive exec:exec) IMAGE_VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec) cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql/target # If you are building with Open Liberty base image, the existing Dockerfile is ready for you # If you are building with WebSphere Liberty base image, uncomment and execute the following two commands to rename Dockerfile-wlp to Dockerfile # mv Dockerfile Dockerfile.backup # mv Dockerfile-wlp Dockerfileإنشاء دفق صور.
oc create imagestream ${IMAGE_NAME}قم بإنشاء تكوين إنشاء يحدد علامة دفق الصورة لمخرجات الإنشاء.
oc new-build --name ${IMAGE_NAME}-config --binary --strategy docker --to ${IMAGE_NAME}:${IMAGE_VERSION}ابدأ عملية الإنشاء لتحميل المحتويات المحلية ووضعها في حاويات وإخراجها إلى علامة دفق الصور المحددة من قبل.
oc start-build ${IMAGE_NAME}-config --from-dir . --follow
نشر التطبيق على مجموعة ARO 4
يمكنك الآن نشر نموذج تطبيق Liberty إلى مجموعة Azure Red Hat OpenShift 4 التي أنشأتها سابقا عند العمل من خلال المتطلبات الأساسية.
نشر التطبيق من وحدة تحكم الويب
نظرا لأننا نستخدم مشغل Open Liberty لإدارة تطبيقات Liberty ، نحتاج إلى إنشاء مثيل لتعريف الموارد المخصصة الخاص به ، من النوع "OpenLibertyApplication". سيقوم المشغل بعد ذلك بالعناية بجميع جوانب إدارة موارد OpenShift المطلوبة للنشر.
- سجل الدخول إلى وحدة تحكم الويب OpenShift من المستعرض باستخدام بيانات الاعتماد
kubeadmin. - توسيع الصفحة الرئيسية، حدد المشاريعفتح>الحرية والعرض التوضيحي.
- انتقل إلى المشغلينالمشغلين المثبتين>.
- في منتصف الصفحة، حدد فتح عامل تشغيل Liberty.
- في منتصف الصفحة، حدد فتح تطبيق Liberty. يعكس التنقل بين العناصر في واجهة المستخدم التسلسل الهرمي الفعلي للاحتواء للتقنيات المستخدمة.

- حدد إنشاء OpenLibertyApplication
- استبدل yaml الذي تم إنشاؤه بحسابك ، والذي يقع في
<path-to-repo>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml. - حدد "Create". ستتم إعادتك إلى قائمة OpenLibertyApplications.
- انتقل إلى WorkloadsSecrets>.
- حدد إنشاء> من YAML.
- استبدل yaml الذي تم إنشاؤه بحسابك ، والذي يقع في
<path-to-repo>/3-integration/connect-db/mysql/target/db-secret.yaml. - حدد "Create". ستتم إعادتك إلى صفحة التفاصيل السرية.
- حدد إضافة سر إلى عبء العمل، ثم حدد javaee-café-mysql من المربع المنسدل، ثم حدد حفظ.
- انتقل إلى المشغلينالمشغلينالمثبتينافتح>>مشغل>الحريةافتح تطبيق الحرية.
- حدد javaee-café-mysql.
- في منتصف الصفحة، حدد الموارد.
- في الجدول، حدد الرابط الخاص ب javaee-café-mysql مع نوعالطريق.
- في الصفحة التي تفتح، حدد الرابط أسفل الموقع.
سترى الصفحة الرئيسية للتطبيق مفتوحة في المتصفح.
تنظيف الموارد
حذف مجموعة ARO باتباع الخطوات الواردة في البرنامج التعليمي: حذف مجموعة Azure Red Hat OpenShift 4
الخطوات التالية
في هذا الدليل، تعلمت كيفية:
- إعداد طلب ليبرتي
- إنشاء صورة التطبيق
- قم بتشغيل التطبيق المعبأ في حاويات على مجموعة ARO 4 باستخدام واجهة المستخدم الرسومية وواجهة سطر الأوامر
يمكنك معرفة المزيد من المراجع المستخدمة في هذا الدليل:
