התאמה אישית של תוכנית העברה לשרתי 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, הקובץ מועלה לתמונה.

המאמרים הבאים