התקנת ספק 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 (התקנה במארח מחשוב של Linux) במסמכי התיעוד של 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

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

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

יוצרים קבוצת מופעי מכונה מנוהלים (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 עם שירות המארח של 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. יוצרים את ה-CLI‏ hf-gce לאשכולות של 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 התרחש לפני יותר זמן מהמשך הזה, ב-שניות, מאזין Pub/Sub מתנתק. ההגדרה הזו של הזמן הקצוב לתפוגה רלוונטית רק כש-Pub/Sub רכיב event listener מופעל באופן אוטומטי. אחרת, תהליך ההאזנה יפעל ללא הגבלת זמן, והאדמין יצטרך לשלוט במחזור החיים שלו. 600
    PUBSUB_TOPIC השם של נושא ה-Pub/Sub. המשתנה הזה מיועד רק לתאימות לאחור. hf-gce-vm-events
    PUBSUB_SUBSCRIPTION השם של מינוי Pub/Sub למעקב אחר אירועי מכונת VM. hf-gce-vm-events-sub
    PUBSUB_LOCKFILE השם של הקובץ שמציין אם רכיב ה-event listener של Pub/Sub פעיל. /tmp/sym_hf_gcp_pubsub.lock
    PUBSUB_AUTOLAUNCH אם הערך מוגדר ל-true, הספק מנסה להפעיל אוטומטית את מאזין האירועים של Pub/Sub. אם הערך הוא false, צריך להפעיל את רכיב event listener של 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: האזור שבו נמצאת קבוצת המכונות, למשל us-central1-a. Cloud de Confiance by S3NS
      • 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}/"
    }
    

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

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

כדי לאפשר לרכיב ספציפי של 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"]}
      

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