במאמר הזה מוסבר איך להתקין ולהגדיר את ספק 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 Instance Admin (v1) (
roles/compute.instanceAdmin.v1) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הכנת סביבת 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
מחליפים את מה שכתוב בשדות הבאים:
-
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:
במארח הראשי של 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.
-
יוצרים נושא Pub/Sub:
gcloud pubsub topics create $PUBSUB_TOPICמשתמשים בפקודה 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"הפלט של הפקודה הזו כולל חשבון שירות שבו תשתמשו בשלב הבא.
מקצים לחשבון השירות מהשלב הקודם את התפקיד פרסום הודעות ב-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בשם של חשבון השירות מהפלט של יצירת יעד לרישום ביומן.יוצרים מינוי כדי לקבל את היומנים:
gcloud pubsub subscriptions create ${PUBSUB_TOPIC}-sub \ --topic=${PUBSUB_TOPIC}ודאו שלחשבון השירות יש את ההרשאות הנכונות להירשם למינוי:
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:
הוספת מאגר
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מתקינים את חבילת הספק ל-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 של ספריית הפלאגין של הספק, פועלים לפי השלבים הבאים:
משכפלים את מאגר
symphony-gcp-connectorמ-GitHub:git clone https://github.com/GoogleCloudPlatform/symphony-gcp-connector.gitמנווטים לספרייה
hf-providerבפרויקט:cd PROJECT_ROOT/hf-providerמחליפים את
PROJECT_ROOTבנתיב של הספרייה ברמה העליונה שמכילה את הספרייה hf-provider, לדוגמה/home/user/symphony-gcp-connector.אם
uvלא מותקן, צריך להתקין אותו:pip install uvיוצרים סביבה וירטואלית של Python באמצעות
uv:uv venvמפעילים את הסביבה הווירטואלית:
source .venv/bin/activateמתקינים את יחסי התלות הנדרשים בפרויקט:
uv pip install .מתקינים את PyInstaller, שמאגד את אפליקציית Python לקובץ הפעלה עצמאי:
uv pip install pyinstallerיוצרים את ה-CLI
hf-gceלאשכולות של Compute Engine:uv run pyinstaller hf-gce.spec --cleanכדי לוודא שההתקנה בוצעה, מריצים את הפקודה
--helpלקובץ הפעלה. אם לא תגדירו את משתני הסביבה הנדרשים, יכול להיות שתופיע שגיאה.dist/hf-gce --helpמעתיקים את הקובץ הניתן להרצה לספריית הפלאגין של הספק
bin:mkdir -p ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin cp dist/hf-gce ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin/מעתיקים את הסקריפטים לספרייה
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:
פותחים את הקובץ
$HF_TOP/conf/providerplugins/hostProviderPlugins.json.משתנה הסביבה
$HF_TOPמוגדר בסביבה כשמשתמשים בפקודת המקור. הערך הוא הנתיב לספריית ההתקנה ברמה העליונה של שירות IBM Spectrum Symphony host factory.מוסיפים קטע של פלאגין ספק
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 לסביבה שלכם, יוצרים מופע של ספק.
מגדירים את הספרייה למופע של הספק:
אם בניתם את הספק מקוד המקור, אתם צריכים ליצור את הספרייה ואת קובצי ההגדרות באופן ידני:
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
בספרייה
$HF_TOP/conf/providers/gcpgceinst/, יוצרים או עורכים קובץgcpgceinstprov_config.json. הקובץ הזה מכיל את ההגדרה הראשית של הספק. הספק תומך במשתני ההגדרה הבאים. צריך לציין במשתנים האלה ערך שאין להם ערך ברירת מחדל בהגדרה הזו.שם המשתנה תיאור ערך ברירת המחדל HF_DBDIRהמיקום שבו הספק הזה מאחסן את מסד הנתונים של המצב. מוגדר בסביבת HostFactory כ- $HF_DBDIR.HF_TEMPLATES_FILENAMEהשם של קובץ התבניות. gcpgceinstprov_templates.jsonGCP_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 WARNINGPUBSUB_TIMEOUTאם האירוע האחרון ב-Pub/Sub התרחש לפני יותר זמן מהמשך הזה, ב-שניות, מאזין Pub/Sub מתנתק. ההגדרה הזו של הזמן הקצוב לתפוגה רלוונטית רק כש-Pub/Sub רכיב event listener מופעל באופן אוטומטי. אחרת, תהליך ההאזנה יפעל ללא הגבלת זמן, והאדמין יצטרך לשלוט במחזור החיים שלו. 600PUBSUB_TOPICהשם של נושא ה-Pub/Sub. המשתנה הזה מיועד רק לתאימות לאחור. hf-gce-vm-eventsPUBSUB_SUBSCRIPTIONהשם של מינוי Pub/Sub למעקב אחר אירועי מכונת VM. hf-gce-vm-events-subPUBSUB_LOCKFILEהשם של הקובץ שמציין אם רכיב ה-event listener של Pub/Sub פעיל. /tmp/sym_hf_gcp_pubsub.lockPUBSUB_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.
-
באותה ספרייה, יוצרים או עורכים קובץ
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.
-
- אם התקנתם באמצעות RPM, אתם יכולים להשתמש בקובץ
אחרי שיוצרים את הקבצים האלה, מוודאים שהספרייה של מופע הספק דומה לדוגמה הבאה:
├── gcpgceinstprov_config.json └── gcpgceinstprov_templates.json
הפעלת מופע הספק
כדי להפעיל את מופע הספק, מפעילים אותו בקובץ ההגדרות של מפעל המארחים:
פותחים את הקובץ
$HF_TOP/conf/providers/hostProviders.json.מוסיפים קטע של מופע ספק
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 כדי להקצות משאבים, צריך להפעיל אותו עבור השולח של הבקשה.
פותחים את הקובץ
$HF_TOP/conf/requestors/hostRequestors.json.במופע המתאים של השולח, מוסיפים
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, פועלים לפי השלבים הבאים:
מאתרים את המארח והיציאה של ה-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כדי ליצור בקשה למשאב באמצעות 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"]}-