התאמה אישית של תוכנית העברה לשרתי JBoss
כדאי לבדוק את קובץ תוכנית ההעברה שנוצר בעקבות יצירת ההעברה. לפני שמבצעים את ההעברה, אפשר להתאים אישית את הקובץ. הפרטים של תוכנית ההעברה משמשים לחילוץ ארטיפקטים של מאגר עומסי העבודה מהמקור.
בסעיף הזה מתואר התוכן של ההעברה וסוגי ההתאמות האישיות שכדאי לשקול לפני שמבצעים את ההעברה ויוצרים את ארטיפקטים הפריסה.
לפני שמתחילים
ההנחה במאמר הזה היא שכבר יצרתם העברה ויש לכם את קובץ תוכנית ההעברה.
עריכת תוכנית ההעברה
אחרי שמעתיקים את מערכת הקבצים ומנתחים אותה, אפשר למצוא את תוכנית ההעברה בספרייה החדשה שנוצרת בנתיב הפלט שצוין: ANALYSIS_OUTPUT_PATH/config.yaml.
עורכים את תוכנית ההעברה לפי הצורך ושומרים את השינויים.
המבנה של תוכנית ההעברה
תוכנית ההעברה של עומס עבודה ב-JBoss כוללת את המבנה הבא, שאפשר להתאים אישית כמו שמתואר בקטעים הבאים.
# Server name. Edit this to change the artifacts naming.
serverName: jboss-server
# JBoss home directory.
home: /opt/jboss/wildfly
# Parent Wildfly image for the generated container image.
fromImage: docker.io/jboss/wildfly:10.1.0.Final
# JBoss home directory in the target image.
targetImageHome: /opt/wildfly
# Configuration file path from source VM.
configurationFile: /opt/jboss/wildfly/standalone/configuration/standalone.xml
# Ports list to expose on the generated container image.
ports:
- name: management-http
port: 9990
- name: management-https
port: 9993
- name: ajp
port: 8009
- name: http
port: 8080
- name: https
port: 8433
- name: txn-recovery-environment
port: 4712
- name: txn-status-manager
port: 4713
# List of deployments files to copy.
deployments:
directory: /opt/jboss/wildfly/standalone/deployments
applications:
- test.war
# List of modules to copy in rsync filter format.
# Note: files under '/system/layers/base/' are JBoss/Wildfly binaries and should be copied only if they have been modified.
modules:
- '- system/layers/base'
# External paths required for running the JBoss server or apps.
additionalFiles: []
# Sensitive data which is filtered out of the container image.
# If includeSensitiveData is set to true the sensitive data is mounted on the container.
sensitiveData:
includeSensitiveData: false
sensitiveDataPaths:
- /opt/jboss/wildfly/standalone/configuration/application-roles.properties
- /opt/jboss/wildfly/standalone/configuration/application-users.properties
- /opt/jboss/wildfly/standalone/configuration/application.keystore
- /opt/jboss/wildfly/standalone/configuration/mgmt-groups.properties
- /opt/jboss/wildfly/standalone/configuration/mgmt-users.properties
כדי להוסיף מידע לפי הצורך, כדאי לעיין בפרטי תוכנית ההעברה ובהערות המנחות.
חשוב במיוחד לשים לב לשינויים בקטעים הבאים.
ציון קובץ האימג' של Docker
בתוכנית המיגרציה, אנחנו יוצרים תג של תמונת קהילה ב-Docker על סמך גרסת JBoss. מערכת JBoss מזהה את הגרסה וממירה אותה לגרסה ראשית (אין תמיכה בגרסאות משניות). אם לא נצליח לזהות גרסת JBoss, fromImage יכיל מחרוזת ריקה.
בשדה fromImage בתוכנית ההעברה מופיע תג Docker Image שמשמש כבסיס לקובץ האימג' של הקונטיינר.
הגרסאות המקוריות של JBoss שזוהו במכונה הווירטואלית של המקור כלולות ב-discovery-report.yaml שנוצר על ידי הגילוי הראשוני.
אם רוצים לשנות את תמונת הקהילה של Docker או לספק תמונת Docker משלכם, אפשר לשנות את התג fromImage בתוכנית ההעברה באמצעות הפורמט הבא:
# Parent Wildfly image for the generated container image. fromImage: docker.io/jboss/wildfly:10.1.0.Final
השדה targetImageHome מציין את הנתיב של ספריית הבית של JBoss בתמונת היעד, והוא נגזר מהשדה fromImage. אין צורך לשנות את הערך של השדה הזה, אלא אם אתם משתמשים בתמונה של JBoss עם ערך שונה של JBoss home.
ציון אפליקציות
כדי להחריג אפליקציות מקובץ האימג' של הקונטיינר, מסירים אותן מרשימת האפליקציות.
ציון מודולים
הרשימה module מכילה רשימה של מודולי JBoss קיימים שמסומנים בסימן פלוס או מינוס. רק מודולים שמסומנים בסימן פלוס יתווספו לקובץ אימג' של קונטיינר שנוצר. המודולים שמסומנים בסימן מינוס, למשל (/system/layers/base), כבר קיימים בתמונה הקהילתית ולא יוחלפו אלא אם תסמנו אותם מחדש בסימן פלוס.
הגדרת העברה של מידע אישי רגיש
כדי להעלות מידע אישי רגיש למאגר, צריך להגדיר את השדה includeSensitiveData בתוכנית ההעברה לערך true.
הסודות מועלים ב-secrets.yaml.
בשדה sensitiveDataPaths מציינים את רשימות הקבצים שרוצים לסנן מתוכנית ההעברה. הקבצים האלה עשויים להכיל מידע רגיש כמו אישורים, מאגר סודות, משתמשים וסיסמאות שמשמשים את JBoss. אם מסירים נתיב קובץ מהשדה sensitiveDataPaths, הקובץ מועלה לתמונה.