התקנת ספק Symphony ב-Compute Engine

במאמר הזה מוסבר איך להתקין ולהגדיר את ספק IBM Symphony ל-Compute Engine. במאמר הזה מוסבר איך להגדיר את Pub/Sub כדי לעקוב אחרי אירועים של מכונות וירטואליות (VM), איך ליצור ולהתקין את פלאגין הספק ואיך להגדיר את מופע הספק בסביבת המארח של Symphony.

מידע נוסף על Symphony Connectors for Cloud de Confiance by S3NSזמין במאמר Integrate IBM Spectrum Symphony with Cloud de Confiance.

לפני שמתחילים

כדי להתקין את ספק Symphony ל-Compute Engine, צריכים להיות לכם המשאבים הבאים:

  • קלאסטר פעיל של IBM Spectrum Symphony עם שירות Host Factory מופעל. יש לכם את שם המארח של המארח הראשי של IBM Spectrum Symphony.
  • חשבון שירות ייעודי עם התפקידים הנדרשים. מידע נוסף על יצירת חשבון השירות הזה זמין במאמר יצירת חשבון שירות.
  • כלל חומת אש שהגדרתם כדי לאפשר תקשורת בין המארח הראשי של Symphony לבין Compute Engine. לדוגמה:

    gcloud compute firewall-rules create allow-symphony-primary-to-compute \
        --project=PROJECT_ID \
        --direction=INGRESS \
        --priority=1000 \
        --network=NETWORK_NAME \
        --allow=all \
        --source-tags=NETWORK_TAGS_MASTER \
        --target-tags=NETWORK_TAGS
    
    gcloud compute firewall-rules create allow-symphony-compute-to-primary \
        --project=PROJECT_ID \
        --direction=INGRESS \
        --priority=1000 \
        --network=NETWORK_NAME \
        --allow=all \
        --source-tags=NETWORK_TAGS \
        --target-tags=NETWORK_TAGS_MASTER
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: המזהה של הפרויקט ב- Cloud de Confiance by S3NS.
    • NETWORK_NAME: השם של רשת ה-VPC שבה משאבי Symphony נפרסים.
    • NETWORK_TAGS_MASTER: תג הרשת שהוחל על המכונה הווירטואלית של המארח הראשי של Symphony.
    • NETWORK_TAGS: תג הרשת שמוחל על מכונות וירטואליות של צומת מחשוב של Symphony.

    מידע נוסף זמין במאמר יצירת כללים של חומת אש ב-VPC.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של מכונות וירטואליות שמשתמשות בחשבון שירות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

הכנת סביבת Compute Engine

כדי לאפשר למארח של Symphony ליצור ולנהל מכונות וירטואליות, צריך להגדיר כמה Cloud de Confiance משאבים:

  • תבנית של הגדרות מכונה: תוכנית שמגדירה את ההגדרה של מכונות ה-VM של Symphony Compute שנוצרות על ידי מארח המפעל.

  • קבוצת מופעי מכונה מנוהלים (MIG): קבוצה של מכונות וירטואליות זהות שנוצרות באמצעות תבנית של הגדרות מכונה. מפעל המארחים מרחיב או מצמצם את הקבוצה הזו על ידי הוספה או הסרה של מכונות וירטואליות בהתאם לביקוש לעומס העבודה.

  • נושא ומינוי Pub/Sub: שירות העברת הודעות שמודיע לספק Symphony על אירועים במחזור החיים של מכונות וירטואליות, כמו הפסקות זמניות או מחיקות. השירות הזה מאפשר לספק לשמור על מצב מדויק של האשכול.

יצירת תבנית של הגדרות מכונה

יוצרים תבנית של הגדרות מכונה למארחי המחשוב של Symphony באמצעות הפקודה gcloud compute instance-templates create. בתבנית הזו מוגדרים המאפיינים של מכונות ה-VM שהיא יוצרת. צריך להתקין את Symphony במכונות הווירטואליות האלה. אתם יכולים להשתמש בתמונה שבה Symphony מותקן מראש, או להשתמש בסקריפט לטעינה בזמן ההפעלה כדי להתקין את Symphony אחרי שתיצרו את המכונות הווירטואליות. מידע על התקנת Symphony במכונה וירטואלית של מארח מחשוב זמין במאמר Installing on a Linux compute host במסמכי התיעוד של IBM.

  gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --network-interface=nic-type=GVNIC,stack-type=IPV4_ONLY,subnet=SUBNET_NAME,no-address \
    --instance-template-region=REGION \
    --service-account=SERVICE_ACCOUNT_EMAIL \
    --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append \
    --tags=NETWORK_TAGS \
    --create-disk=auto-delete=yes,boot=yes,device-name=INSTANCE_TEMPLATE_NAME,image-family=rocky-linux-9,image-project=rocky-linux-cloud,mode=rw,size=20,type=pd-balanced \
    --shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_TEMPLATE_NAME: שם לתבנית החדשה של הגדרות המכונה.
  • MACHINE_TYPE: סוג המכונה של מופעי Compute. מידע נוסף זמין במאמר יצירת מכונה וירטואלית עם סוג מכונה מותאם אישית.
  • SUBNET_NAME: השם של רשת המשנה של המופעים. מידע נוסף זמין במאמר איך צופים בהגדרת הרשת של מופע.
  • SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות שהגדרתם בקטע לפני שמתחילים. מוודאים שלחשבון השירות הזה יש את התפקידים שמפורטים בקטע תפקידים נדרשים.
  • REGION: Cloud de Confiance by S3NS האזור שבו רוצים ליצור את המשאבים.
  • NETWORK_TAGS: תג רשת להחלה על המופעים, שאפשר להשתמש בו לכללי חומת אש – לדוגמה, symphony-compute.

יצירת קבוצות של מופעי מכונה מנוהלים

יוצרים קבוצת מופעי מכונה מנוהלים (MIG) באמצעות תבנית של הגדרות מכונה מהשלב הקודם. הספק של מאגר הזהויות של המארח משנה את גודל הקבוצה הזו על ידי הוספה או הסרה של מופעים בהתאם לביקוש לעומס העבודה.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --project=PROJECT_ID \
    --base-instance-name=INSTANCE_GROUP_NAME \
    --template=projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --size=0 \
    --zone=ZONE
    --default-action-on-vm-failure=repair \
    --no-force-update-on-repair \
    --standby-policy-mode=manual \
    --list-managed-instances-results=pageless

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_GROUP_NAME: השם שבחרתם לקבוצת מופעי מכונה מנוהלים.
  • PROJECT_ID: המזהה של הפרויקט ב- Cloud de Confiance by S3NS. מידע נוסף זמין במאמר איך למצוא את השם, המספר והמזהה של הפרויקט.
  • INSTANCE_TEMPLATE_NAME: שם תבנית המופע שיצרתם בשלב הקודם.
  • REGION: האזור שבו נמצאים המשאבים, למשל us-east.
  • ZONE: האזור בתוך האזור שנבחר, למשל a.

מידע נוסף על יצירת קבוצות MIG זמין במאמר יצירת קבוצת MIG באזור יחיד.

הגדרת Pub/Sub

כדי לאפשר לספק של Symphony לקבל התראות על אירועים במחזור החיים של מכונות וירטואליות, צריך להגדיר נושא ומינוי ב-Pub/Sub:

  1. במארח הראשי של Symphony, מגדירים את משתני הסביבה הבאים:

    export GCP_PROJECT=PROJECT_ID
    export PUBSUB_TOPIC=PUBSUB_TOPIC
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
    • PUBSUB_TOPIC: שם לCloud de Confiance נושא, למשל hf-gce-vm-events.
  2. יוצרים נושא Pub/Sub:

    gcloud pubsub topics create $PUBSUB_TOPIC
    
  3. משתמשים בפקודה gcloud logging sinks create כדי ליצור יעד של יומן רישום לייצוא יומני ביקורת ל-Pub/Sub:

    gcloud logging sinks create ${PUBSUB_TOPIC}-sink \
        pubsub.googleapis.com/projects/${GCP_PROJECT}/topics/${PUBSUB_TOPIC} \
        --log-filter="
        logName=\"projects/${GCP_PROJECT}/logs/cloudaudit.googleapis.com%2Factivity\"
        resource.type=(\"gce_instance_group_manager\" OR \"gce_instance\")
        protoPayload.methodName=(
            \"v1.compute.instanceGroupManagers.createInstances\"
            OR
            \"v1.compute.instanceGroupManagers.deleteInstances\"
            OR
            \"v1.compute.instances.insert\"
            OR
            \"v1.compute.instances.delete\"
        )
        " \
        --description="Exports MIG VM create/delete audit logs to Pub/Sub"
    

    הפלט של הפקודה הזו כולל חשבון שירות שבו תשתמשו בשלב הבא.

  4. מקצים לחשבון השירות מהשלב הקודם את התפקיד פרסום הודעות ב-Pub/Sub‏ (roles/pubsub.publisher):

    gcloud pubsub topics add-iam-policy-binding $PUBSUB_TOPIC \
        --member="serviceAccount:LOGGING_SINK_SERVICE_ACCOUNT" \
        --role="roles/pubsub.publisher"
    

    מחליפים את LOGGING_SINK_SERVICE_ACCOUNT בשם של חשבון השירות מהפלט של יצירת יעד לרישום ביומן.

  5. יוצרים מינוי לקבלת היומנים:

    gcloud pubsub subscriptions create ${PUBSUB_TOPIC}-sub \
        --topic=${PUBSUB_TOPIC}
    
  6. מוודאים שלחשבון השירות יש את ההרשאות הנכונות להירשם למינוי:

    gcloud pubsub subscriptions add-iam-policy-binding ${PUBSUB_TOPIC}-sub \
        --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
        --role="roles/pubsub.subscriber"
    

    מחליפים את SERVICE_ACCOUNT_EMAIL בכתובת האימייל של חשבון השירות שמנהל את קבוצת המופעים. זה אותו חשבון שירות שהגדרתם בקטע לפני שמתחילים.

ההגדרה של Pub/Sub הושלמה. מידע נוסף על הגדרת Pub/Sub זמין במאמר פרסום וקבלת הודעות ב-Pub/Sub באמצעות Google Cloud CLI.

טעינה של משתני הסביבה של המארח

כדי להגדיר או לנהל את שירותי המפעל של המארחים, צריך לטעון את משתני הסביבה של Symphony בסשן של מעטפת הפקודות. במכונת ה-VM של המארח הראשי של Symphony, מריצים את הפקודה הבאה:

source INSTALL_FOLDER/profile.platform

מחליפים את הערך ב-INSTALL_FOLDER בנתיב לתיקיית ההתקנה. נתיב תיקיית ההתקנה של Symphony שמוגדר כברירת מחדל הוא /opt/ibm/spectrumcomputing. אם התקנתם את Symphony במיקום אחר, תצטרכו להשתמש בנתיב הנכון לסביבה שלכם.

הפקודה הזו מפעילה את הסקריפט profile.platform, שמייצא משתני סביבה חיוניים כמו $EGO_TOP ו-$HF_TOP, ומוסיף את כלי שורת הפקודה של Symphony אל PATH של המעטפת. כדי לוודא שהסביבה מוגדרת בצורה נכונה, צריך להריץ את הפקודה הזו בכל סשן חדש של מסוף.

התקנת הפלאגין של הספק

כדי לשלב את ספק Compute Engine עם שירות ה-host factory של Symphony, מתקינים את פלאגין הספק שנבנה מראש מחבילת ה-RPM או בוחרים את הספק מקוד המקור.

התקנת פלאגין מוכן מראש של ספק

כדי להתקין את פלאגין הספק באמצעות חבילות RPM, מבצעים את השלבים הבאים במארח הראשי של Symphony:

  1. מוסיפים את מאגר yum עבור Cloud de Confiance by S3NS Symphony Connectors:

    sudo tee /etc/yum.repos.d/google-cloud-symphony-connector.repo << EOM
    [google-cloud-symphony-connector] name=Google Cloud Symphony Connector
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-symphony-connector-x86-64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
           https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    
  2. מתקינים את חבילת הספק ל-Compute Engine:

    sudo yum install -y hf-gcpgce-provider.x86_64
    

חבילת ה-RPM מתקינה את קובצי ההפעלה והסקריפטים של הספק בספריות הנכונות של שירות המארח של Symphony. אחרי ההתקנה, מבנה הספריות ייראה כך:

├── bin
│   └── hf-gce
└── scripts
    ├── getAvailableTemplates.sh
    ├── getRequestStatus.sh
    ├── getReturnRequests.sh
    ├── requestMachines.sh
    └── requestReturnMachines.sh

בניית הספק מקוד המקור

כדי ליצור ולהתקין את קובץ ההפעלה של ה-CLI בספרייה bin של ספריית הפלאגין של הספק, פועלים לפי השלבים הבאים:

  1. משכפלים את מאגר symphony-gcp-connector מ-GitHub:

    git clone https://github.com/GoogleCloudPlatform/symphony-gcp-connector.git
    
  2. מנווטים לספרייה hf-provider בפרויקט:

    cd PROJECT_ROOT/hf-provider
    

    מחליפים את PROJECT_ROOT בנתיב לספרייה ברמה העליונה שמכילה את הספרייה hf-provider, לדוגמה /home/user/symphony-gcp-connector.

  3. אם לא מותקנת אצלכם גרסת uv, צריך להתקין אותה:

    pip install uv
    
  4. יוצרים סביבה וירטואלית של Python באמצעות uv:

    uv venv
    
  5. מפעילים את הסביבה הווירטואלית:

    source .venv/bin/activate
    
  6. מתקינים את יחסי התלות הנדרשים בפרויקט:

    uv pip install .
    
  7. מתקינים את PyInstaller, שמאגד את אפליקציית Python לקובץ הפעלה עצמאי:

    uv pip install pyinstaller
    
  8. יוצרים את hf-gce CLI לאשכולות של Compute Engine:

    uv run pyinstaller hf-gce.spec --clean
    
  9. כדי לוודא שההתקנה בוצעה, מריצים את הפקודה --help עבור קובץ הפעלה. יכול להיות שתופיע שגיאה אם לא תגדירו את משתני הסביבה הנדרשים.

    dist/hf-gce --help
    
  10. מעתיקים את הקובץ הניתן להרצה לספריית הפלאגין של הספק bin:

    mkdir -p ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin
    cp dist/hf-gce ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin/
    
  11. מעתיקים את הסקריפטים לספרייה scripts של פלאגין הספק:

    cp -R ./resources/gce_cli/1.2/providerplugins/gcpgce/scripts ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/
    

    מערכת ההפעלה צריכה לתמוך בגרסת Python שמשמשת לבניית קובצי ההפעלה. הקבצים הניתנים להפעלה נבדקו באמצעות Python 3.9.6.

אחרי ההתקנה, מבנה הספריות של פלאגין הספק דומה לדוגמה הזו:

├── bin
│   └── hf-gce
└── scripts
    ├── getAvailableTemplates.sh
    ├── getRequestStatus.sh
    ├── getReturnRequests.sh
    ├── requestMachines.sh
    └── requestReturnMachines.sh

הפעלת פלאגין הספק

כדי להפעיל את תוסף ספק Compute Engine, צריך לרשום אותו בהגדרות של host factory:

  1. פותחים את הקובץ $HF_TOP/conf/providerplugins/hostProviderPlugins.json.

    משתנה הסביבה $HF_TOP מוגדר בסביבה שלכם כשמשתמשים בפקודת המקור. הערך הוא הנתיב לספריית ההתקנה ברמה העליונה של שירות IBM Spectrum Symphony host factory.

  2. מוסיפים קטע של פלאגין ספק gcpgce:

    {
        "name": "gcpgce",
        "enabled": 1,
        "scriptPath": "${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/scripts/"
    }
    

    אם אתם משתמשים בגרסה 1.2 של פלאגין הספק עם ערך ברירת המחדל של $HF_TOP, הערך שמתקבל של scriptPath הוא: INSTALL_FOLDER/hostfactory/1.2/providerplugins/gcpgce/scripts/.

הגדרת מופע של ספק

כדי להגדיר את ספק Compute Engine לסביבה שלכם, יוצרים מופע של ספק.

  1. מגדירים את הספרייה עבור מופע הספק:

    • אם בניתם את הספק מקוד המקור, אתם צריכים ליצור את הספרייה ואת קובצי ההגדרות באופן ידני:

      mkdir -p $HF_TOP/conf/providers/gcpgceinst/
      
    • אם התקנתם באמצעות RPM, הספרייה הזו כבר קיימת ומכילה קובצי תצורה לדוגמה. מעתיקים את הקבצים לדוגמה כדי ליצור את התצורה:

      cp $HF_TOP/conf/providers/gcpgceinst/gcpgceinstprov_config.json.dist $HF_TOP/conf/providers/gcpgceinst/gcpgceinstprov_config.json
      cp $HF_TOP/conf/providers/gcpgceinst/gcpgceinstprov_templates.json.dist $HF_TOP/conf/providers/gcpgceinst/gcpgceinstprov_templates.json
      
  2. בספרייה $HF_TOP/conf/providers/gcpgceinst/, יוצרים או עורכים קובץ gcpgceinstprov_config.json. הקובץ הזה מכיל את ההגדרה הראשית של הספק. הספק תומך במשתני ההגדרה הבאים. צריך לציין במשתנים האלה ערך שאין להם ערך ברירת מחדל בהגדרה הזו.

    שם המשתנה תיאור ערך ברירת המחדל
    HF_DBDIR המיקום שבו הספק הזה מאחסן את מסד הנתונים של המצב. מוגדר בסביבת HostFactory כ-$HF_DBDIR.
    HF_TEMPLATES_FILENAME השם של קובץ התבניות. gcpgceinstprov_templates.json
    GCP_CREDENTIALS_FILE המיקום של קובץ פרטי הכניסה של חשבון השירות. Cloud de Confiance by S3NS אם לא מציינים את הערך הזה, האפליקציה משתמשת בפרטי ברירת המחדל.
    GCP_PROJECT_ID המזהה של Cloud de Confiance by S3NS הפרויקט. ללא
    GCP_INSTANCE_PREFIX מחרוזת שתוצג לפני כל המארחים שנוצרו על ידי הספק הזה. sym-
    LOGFILE המיקום של קובץ היומן שאליו הספק שולח את היומנים. קובץ עם שם שנוצר, שנמצא בספרייה שמוגדרת על ידי משתנה הסביבה HostFactory‏ HF_PROVIDER_LOGDIR.
    LOG_LEVEL רמת הרישום ביומן של Python WARNING
    PUBSUB_TIMEOUT אם האירוע האחרון ב-Pub/Sub ישן יותר מהמשך הזה (בשניות), ה-listener של Pub/Sub מתנתק. הזמן הקצוב לתפוגה הזה חל רק כשה-event listener של Pub/Sub מופעל באופן אוטומטי. אחרת, תהליך ההאזנה יפעל ללא הגבלת זמן, והאדמין יצטרך לשלוט במחזור החיים שלו. 600
    PUBSUB_TOPIC השם של נושא ה-Pub/Sub. המשתנה הזה מיועד רק לתאימות לאחור. hf-gce-vm-events
    PUBSUB_SUBSCRIPTION השם של מינוי Pub/Sub למעקב אחר אירועים במכונות וירטואליות. hf-gce-vm-events-sub
    PUBSUB_LOCKFILE השם של הקובץ שמציין אם ה-event listener של Pub/Sub פעיל. /tmp/sym_hf_gcp_pubsub.lock
    PUBSUB_AUTOLAUNCH אם הערך מוגדר ל-true, הספק מנסה להפעיל אוטומטית את ה-listener של אירועי Pub/Sub. אם הערך הוא false, צריך להפעיל את מאזין האירועים של Pub/Sub באמצעות השיטה הרצויה, עם הפקודה hf-gce monitorEvents. true

    בדוגמה הבאה מוצגת הגדרה בסיסית:

    {
        "GCP_PROJECT_ID": "PROJECT_ID",
        "LOG_LEVEL":"INFO",
        "PUBSUB_SUBSCRIPTION": "PUBSUB_SUBSCRIPTION",
        "PUBSUB_TIMEOUT": 100
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
    • PUBSUB_SUBSCRIPTION: השם של מינוי Pub/Sub שיצרתם כדי לעקוב אחרי אירועים במכונה וירטואלית. מידע נוסף מופיע במאמר הגדרת Pub/Sub.
  3. באותה ספרייה, יוצרים או עורכים קובץ gcpgceinstprov_templates.json. בקובץ הזה מוגדרות התבניות של מכונות ה-VM שהספק יכול ליצור. המאפיינים בתבנית צריכים להתאים להגדרה של קבוצת המופעים התומכת.

    • אם התקנתם באמצעות RPM, אתם יכולים להשתמש בקובץ gcpgceinstprov_templates.json שיצרתם בשלבים הקודמים כנקודת התחלה.
    • אם בניתם מהמקור, אתם יכולים להשתמש בתבנית הבאה לדוגמה:

      {
          "templates": [
              {
                  "templateId": "template-gcp-01",
                  "maxNumber": 10,
                  "attributes": {
                      "type": [ "String", "X86_64" ],
                      "ncpus": [ "Numeric", "1" ],
                      "nram": [ "Numeric", "1024" ]
                  },
                  "gcp_zone": "GCP_ZONE",
                  "gcp_instance_group": "INSTANCE_GROUP_NAME"
              }
          ]
      }
      

      מחליפים את מה שכתוב בשדות הבאים:

      • GCP_ZONE: האזור שבו נמצאת קבוצת המכונות, למשל Cloud de Confiance by S3NS .us-central1-a
      • INSTANCE_GROUP_NAME: השם של קבוצת המופעים שמנוהלת על ידי הספק, למשל symphony-compute-ig.
  4. אחרי שיוצרים את הקבצים האלה, מוודאים שהספרייה של מופע הספק דומה לדוגמה הזו:

    ├── gcpgceinstprov_config.json
    └── gcpgceinstprov_templates.json
    

הפעלת מופע הספק

כדי להפעיל את מופע הספק, צריך להפעיל אותו בקובץ התצורה של מפעל המארחים:

  1. פותחים את הקובץ $HF_TOP/conf/providers/hostProviders.json.

  2. מוסיפים קטע של מופע ספק gcpgceinst:

    {
        "name": "gcpgceinst",
        "enabled": 1,
        "plugin": "gcpgce",
        "confPath": "${HF_CONFDIR}/providers/gcpgceinst/",
        "workPath": "${HF_WORKDIR}/providers/gcpgceinst/",
        "logPath": "${HF_LOGDIR}/"
    }
    

    כשמגדירים את סשן המעטפת באמצעות source command, הסקריפט הזה מגדיר את המשתנים האלה כך שיצביעו על ספריות המשנה הנכונות בהתקנת Symphony. לאחר מכן, שירות הפקטורי (factory) של המארח משתמש במשתנים האלה כדי ליצור את הנתיבים המלאים בזמן הריצה.

הפעלת המופע של מגיש הבקשה

כדי לאפשר לרכיב ספציפי של Symphony להשתמש בספק Compute Engine כדי להקצות משאבים, צריך להפעיל אותו עבור השולח של הבקשה.

  1. פותחים את הקובץ $HF_TOP/conf/requestors/hostRequestors.json.

  2. במופע המתאים של השולח, מוסיפים gcpgceinst לפרמטר providers:

    "providers": ["gcpgceinst"],
    

    ערך הספק צריך להיות זהה לשם הספק שבו אתם משתמשים בקטע הפעלת מופע הספק.

הפעלת שירות המארח

כדי להחיל את שינויי ההגדרות, מפעילים את שירות המארח של המפעל. במכונה הווירטואלית של המארח הראשי של Symphony, נכנסים בתור אדמין האשכול ומפעילים את השירות:

sed -i -e "s|MANUAL|AUTOMATIC|g" $EGO_ESRVDIR/esc/conf/services/hostfactory.xml
egosh user logon -u "SYMPHONY_USERNAME -x "SYMPHONY_PASSWORD
egosh service start HostFactory

מחליפים את מה שכתוב בשדות הבאים:

  • SYMPHONY_USERNAME: שם המשתמש ב-Symphony לאימות.
  • SYMPHONY_PASSWORD: הסיסמה של המשתמש ב-Symphony.

בדיקת מחברים

יוצרים בקשת משאבים כדי לבדוק את הספק של Compute Engine.

כדי לעשות זאת, משתמשים באחת מהשיטות הבאות:

  • ממשק משתמש גרפי של Symphony: הוראות ליצירת בקשה למשאב מופיעות במאמר Manually scheduling cloud host requests and returns (תזמון ידני של בקשות להקצאת מארח בענן והחזרת מארח) במסמכי IBM.

  • API בארכיטקטורת REST: כדי ליצור בקשת משאב באמצעות API בארכיטקטורת REST, פועלים לפי השלבים הבאים:

    1. מאתרים את המארח והיציאה של ה-API בארכיטקטורת REST של יצירת המארחים:

      egosh client view REST_HOST_FACTORY_URL
      

      הפלט אמור להיראות כך:

      CLIENT NAME: REST_HOST_FACTORY_URL
      DESCRIPTION: http://sym2.us-central1-c.c.symphonygcp.internal:9080/platform/rest/hostfactory/
      TTL        : 0
      LOCATION   : 40531@10.0.0.33
      USER       : Admin
      
      CHANNEL INFORMATION:
      CHANNEL             STATE
      9                   CONNECTED
      
    2. כדי ליצור בקשה למשאב באמצעות API בארכיטקטורת REST, משתמשים בפקודה הבאה:

      HOST=PRIMARY_HOST
      PORT=PORT
      TEMPLATE_NAME=INSTANCE_TEMPLATE_NAME
      PROVIDER_NAME=gcpgceinst
      
      curl -X POST -u "SYMPHONY_USER:SYMPHONY_PASSWORD" -H "Content-Type: application/json" -d "{ \"demand_hosts\": [ { \"prov_name\": \"$PROVIDER_NAME\", \"template_name\": \"$TEMPLATE_NAME\", \"ninstances\": 1 } ] }" \
      http://$HOST:$PORT/platform/rest/hostfactory/requestor/admin/request
      

      מחליפים את מה שכתוב בשדות הבאים:

      • PRIMARY_HOST: שם המארח של המארח הראשי שלכם מהפלט של הפקודה הקודמת.
      • PORT: מספר היציאה של המארח הראשי שלכם מתוך הפלט של הפקודה הקודמת, למשל 9080.
      • SYMPHONY_TEMPLATE_ID: templateId שמוגדר בקובץ gcpgceinstprov_templates.json, למשל template-gcp-01.
      • SYMPHONY_USER: המשתמש ב-Symphony לאימות.
      • SYMPHONY_PASSWORD: הסיסמה של משתמש Symphony.

      אם הפעולה מצליחה, הפלט יהיה דומה לדוגמה הזו:

      {"scheduled_request_id":["SD-641ef442-1f9e-40ae-ae16-90e152ed60d2"]}
      

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