Compute Engine Symphony-Anbieter installieren

In diesem Dokument wird beschrieben, wie Sie den IBM Symphony-Anbieter für Compute Engine installieren und konfigurieren. Sie erfahren, wie Sie Pub/Sub einrichten, um VM-Instanzereignisse zu überwachen, das Anbieter-Plug-in zu erstellen und zu installieren und die Anbieterinstanz in Ihrer Symphony-Hostfactory-Umgebung zu konfigurieren.

Weitere Informationen zu Symphony Connectors für Google Cloudfinden Sie unter IBM Spectrum Symphony in Google Cloudeinbinden.

Hinweise

Für die Installation des Symphony-Anbieters für Compute Engine benötigen Sie die folgenden Ressourcen:

  • Ein aktiver IBM Spectrum Symphony-Cluster mit aktiviertem Host Factory-Dienst. Sie haben den Hostnamen Ihres primären IBM Spectrum Symphony-Hosts.
  • Ein dediziertes Dienstkonto mit den erforderlichen Rollen. Weitere Informationen zum Erstellen dieses Dienstkontos finden Sie unter Dienstkonto erstellen.
  • Eine Firewallregel, die Sie konfiguriert haben, um die Kommunikation zwischen dem primären Symphony-Host und Compute Engine zuzulassen. Beispiel:

    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
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Google Cloud-Projekts.
    • NETWORK_NAME: der Name des VPC-Netzwerk, in dem Ihre Symphony-Ressourcen bereitgestellt werden.
    • NETWORK_TAGS_MASTER: Das Netzwerk-Tag, das auf Ihre primäre Symphony-Host-VM angewendet wird.
    • NETWORK_TAGS: Das Netzwerk-Tag, das auf Ihre Symphony-Compute-Knoten-VMs angewendet wird.

    Weitere Informationen finden Sie unter VPC-Firewallregeln erstellen.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Instanzen mit einem Dienstkonto benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Compute Engine-Umgebung vorbereiten

Damit die Symphony-Hostfactory VMs erstellen und verwalten kann, müssen Sie mehrere Google Cloud Ressourcen konfigurieren:

  • Instanzvorlage: Ein Blueprint, der die Konfiguration der Symphony-Compute-VMs definiert, die von der Host-Factory erstellt werden.

  • Verwaltete Instanzgruppe (Managed Instance Group, MIG): Eine Gruppe identischer VMs, die mithilfe einer Instanzvorlage erstellt werden. Die Host Factory skaliert diese Gruppe nach oben oder unten, indem sie VMs basierend auf der Arbeitslastanforderung hinzufügt oder entfernt.

  • Pub/Sub-Thema und ‑Abo: Ein Messaging-Dienst, der den Symphony-Anbieter über VM-Lifecycle-Ereignisse wie Preemptions oder Löschungen benachrichtigt. Mit diesem Dienst kann der Anbieter einen genauen Status des Clusters aufrechterhalten.

Instanzvorlage erstellen

Erstellen Sie eine Instanzvorlage für die Symphony-Compute-Hosts mit dem Befehl gcloud compute instance-templates create. In dieser Vorlage werden die Eigenschaften der VMs definiert, die damit erstellt werden. Auf diesen VMs muss Symphony installiert sein. Sie können entweder ein Image mit vorinstalliertem Symphony verwenden oder Symphony nach dem Erstellen der VMs mit einem Startskript installieren. Informationen zur Installation von Symphony auf einer Compute-Host-VM finden Sie in der IBM-Dokumentation unter Installing on a Linux compute host.

  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

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME: Ein Name für die neue Instanzvorlage.
  • MACHINE_TYPE: der Maschinentyp für Ihre Compute-Instanzen. Weitere Informationen finden Sie unter VM mit einem benutzerdefinierten Maschinentyp erstellen.
  • SUBNET_NAME: Der Name des Subnetzes für Ihre Instanzen. Weitere Informationen finden Sie unter Netzwerkkonfiguration einer Instanz ansehen.
  • SERVICE_ACCOUNT_EMAIL: Die E-Mail-Adresse des Dienstkontos, das Sie im Abschnitt Vorbereitung eingerichtet haben. Prüfen Sie, ob dieses Dienstkonto die im Abschnitt Erforderliche Rollen angegebenen Rollen hat.
  • REGION: die Google Cloud Region, in der Sie Ihre Ressourcen erstellen möchten.
  • NETWORK_TAGS: Ein Netzwerk-Tag, das auf Ihre Instanzen angewendet werden soll und für Firewallregeln verwendet werden kann, z. B. symphony-compute.

Erstellen Sie eine verwaltete Instanzgruppe.

Erstellen Sie eine verwaltete Instanzgruppe (MIG) mit der Instanzvorlage aus dem vorherigen Schritt. Der Host-Factory-Provider skaliert diese Gruppe, indem er je nach Arbeitslastanforderungen Instanzen hinzufügt oder entfernt.

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

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Der von Ihnen gewählte Name für die verwaltete Instanzgruppe.
  • PROJECT_ID: die ID Ihres Google Cloud-Projekts. Weitere Informationen finden Sie unter Projektname, -nummer und -ID ermitteln.
  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage, die Sie im vorherigen Schritt erstellt haben.
  • REGION: Die Region, in der sich Ihre Ressourcen befinden, z. B. us-east.
  • ZONE: Die Zone innerhalb der ausgewählten Region, z. B. a.

Weitere Informationen zum Erstellen von MIGs finden Sie unter MIG in einer einzelnen Zone erstellen.

Pub/Sub einrichten

Damit der Symphony-Anbieter Benachrichtigungen zu VM-Lifecycle-Ereignissen empfangen kann, konfigurieren Sie ein Pub/Sub-Thema und ein Abo:

  1. Legen Sie auf Ihrem primären Symphony-Host die folgenden Umgebungsvariablen fest:

    export GCP_PROJECT=PROJECT_ID
    export PUBSUB_TOPIC=PUBSUB_TOPIC
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
    • PUBSUB_TOPIC: Ein Name für IhrGoogle Cloud -Thema, z. B. hf-gce-vm-events.
  2. Pub/Sub-Thema erstellen

    gcloud pubsub topics create $PUBSUB_TOPIC
    
  3. Verwenden Sie den Befehl gcloud logging sinks create, um eine Logging-Senke zum Exportieren von Audit-Logs in Pub/Sub zu erstellen:

    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"
    

    Die Ausgabe dieses Befehls enthält ein Dienstkonto, das Sie im nächsten Schritt verwenden.

  4. Weisen Sie dem Dienstkonto aus dem vorherigen Schritt die Rolle Pub/Sub-Publisher (roles/pubsub.publisher) zu:

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

    Ersetzen Sie LOGGING_SINK_SERVICE_ACCOUNT durch den Namen des Dienstkontos aus der Ausgabe der Erstellung der Logsenke.

  5. Erstellen Sie ein Abo, um die Logs zu erhalten:

    gcloud pubsub subscriptions create ${PUBSUB_TOPIC}-sub \
        --topic=${PUBSUB_TOPIC}
    
  6. Prüfen Sie, ob Ihr Dienstkonto die richtigen Berechtigungen zum Abonnieren des Abos hat:

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

    Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des Dienstkontos, das Ihre Instanzgruppe verwaltet. Dies ist dasselbe Dienstkonto, das Sie im Abschnitt Vorbereitung eingerichtet haben.

Die Pub/Sub-Einrichtung ist abgeschlossen. Weitere Informationen zum Konfigurieren von Pub/Sub finden Sie unter Nachrichten in Pub/Sub mit der Google Cloud CLI veröffentlichen und empfangen.

Umgebungsvariablen der Host-Factory laden

Bevor Sie die Host Factory-Dienste konfigurieren oder verwalten können, müssen Sie die Symphony-Umgebungsvariablen in Ihre Shell-Sitzung laden. Führen Sie auf Ihrer primären Symphony-Host-VM den folgenden Befehl aus:

source INSTALL_FOLDER/profile.platform

Ersetzen Sie INSTALL_FOLDER durch den Pfad zu Ihrem Installationsordner. Der Standardpfad für den Symphony-Installationsordner ist /opt/ibm/spectrumcomputing. Wenn Sie Symphony an einem anderen Speicherort installiert haben, verwenden Sie den richtigen Pfad für Ihre Umgebung.

Mit diesem Befehl wird das Skript profile.platform ausgeführt, das wichtige Umgebungsvariablen wie $EGO_TOP und $HF_TOP exportiert und die Symphony-Befehlszeilentools zum PATH Ihrer Shell hinzufügt. Sie müssen diesen Befehl für jede neue Terminalsitzung ausführen, damit die Umgebung richtig konfiguriert ist.

Anbieter-Plug-in installieren

Um den Compute Engine-Anbieter in den Symphony-Hostfactory-Dienst einzubinden, installieren Sie das vorgefertigte Anbieter-Plug-in aus dem RPM-Paket oder erstellen Sie den Anbieter aus dem Quellcode.

Vorgefertigtes Anbieter-Plug-in installieren

So installieren Sie das Anbieter-Plug-in mit RPM-Paketen auf Ihrem primären Symphony-Host:

  1. Fügen Sie das yum-Repository für die Google Cloud Symphony-Connectors hinzu:

    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. Installieren Sie das Anbieterpaket für Compute Engine:

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

Das RPM-Paket installiert die ausführbaren Dateien und Skripts des Anbieters in den richtigen Verzeichnissen für den Symphony-Host-Factory-Dienst. Nach der Installation sieht die Verzeichnisstruktur so aus:

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

Anbieter aus dem Quellcode erstellen

So erstellen und installieren Sie die ausführbare CLI-Datei im Verzeichnis bin des Anbieter-Plug-in-Verzeichnisses:

  1. Klonen Sie das Repository symphony-gcp-connector aus GitHub:

    git clone https://github.com/GoogleCloudPlatform/symphony-gcp-connector.git
    
  2. Wechseln Sie in Ihrem Projekt zum Verzeichnis hf-provider:

    cd PROJECT_ROOT/hf-provider
    

    Ersetzen Sie PROJECT_ROOT durch den Pfad zum Verzeichnis der obersten Ebene, das das Verzeichnis „hf-provider“ enthält, z. B. /home/user/symphony-gcp-connector.

  3. Wenn uv nicht installiert ist, installieren Sie es:

    pip install uv
    
  4. Erstellen Sie eine virtuelle Python-Umgebung mit uv:

    uv venv
    
  5. Aktivieren Sie die virtuelle Umgebung:

    source .venv/bin/activate
    
  6. Installieren Sie die erforderlichen Projektabhängigkeiten.

    uv pip install .
    
  7. Installieren Sie PyInstaller, das die Python-Anwendung in eine eigenständige ausführbare Datei bündelt:

    uv pip install pyinstaller
    
  8. Erstellen Sie die hf-gce-Befehlszeile für Compute Engine-Cluster:

    uv run pyinstaller hf-gce.spec --clean
    
  9. Führen Sie den Befehl --help für eine ausführbare Datei aus, um die Installation zu überprüfen. Wenn Sie die erforderlichen Umgebungsvariablen nicht festlegen, wird möglicherweise ein Fehler angezeigt.

    dist/hf-gce --help
    
  10. Kopieren Sie die ausführbare Datei in das Verzeichnis bin des Anbieter-Plug-ins:

    mkdir -p ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin
    cp dist/hf-gce ${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/bin/
    
  11. Kopieren Sie die Skripts in das Verzeichnis scripts des Anbieter-Plug-ins:

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

    Das Betriebssystem muss die Version von Python unterstützen, die zum Erstellen der ausführbaren Dateien verwendet wird. Die ausführbaren Dateien wurden mit Python 3.9.6 getestet.

Nach der Installation sieht die Verzeichnisstruktur für das Anbieter-Plug-in in etwa so aus:

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

Anbieter-Plug-in aktivieren

Wenn Sie das Compute Engine-Anbieter-Plug-in aktivieren möchten, registrieren Sie es in der Hostfactory-Konfiguration:

  1. Öffnen Sie die Datei $HF_TOP/conf/providerplugins/hostProviderPlugins.json.

    Die Umgebungsvariable $HF_TOP wird in Ihrer Umgebung definiert, wenn Sie den Befehl „source“ verwenden. Der Wert ist der Pfad zum Installationsverzeichnis der obersten Ebene für den IBM Spectrum Symphony-Hostfactory-Dienst.

  2. Fügen Sie einen gcpgce-Anbieter-Plug-in-Abschnitt hinzu:

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

    Wenn Sie Version 1.2 des Anbieter-Plug-ins mit dem Standardwert für $HF_TOP verwenden, ist der resultierende scriptPath-Wert: INSTALL_FOLDER/hostfactory/1.2/providerplugins/gcpgce/scripts/.

Anbieterinstanz einrichten

Wenn Sie den Compute Engine-Anbieter für Ihre Umgebung konfigurieren möchten, erstellen Sie eine Anbieterinstanz.

  1. Richten Sie das Verzeichnis für die Anbieterinstanz ein:

    • Wenn Sie den Anbieter aus dem Quellcode erstellt haben, müssen Sie das Verzeichnis und die Konfigurationsdateien manuell erstellen:

      mkdir -p $HF_TOP/conf/providers/gcpgceinst/
      
    • Wenn Sie mit RPM installiert haben, ist dieses Verzeichnis bereits vorhanden und enthält Beispielkonfigurationsdateien. Kopieren Sie die Beispieldateien, um Ihre Konfiguration zu erstellen:

      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. Erstellen oder bearbeiten Sie im Verzeichnis $HF_TOP/conf/providers/gcpgceinst/ eine gcpgceinstprov_config.json-Datei. Diese Datei enthält die Hauptkonfiguration für den Anbieter. Der Anbieter unterstützt die folgenden Konfigurationsvariablen. Sie müssen Variablen angeben, die in dieser Konfiguration keinen Standardwert haben.

    Variablenname Beschreibung Standardwert
    HF_DBDIR Der Ort, an dem dieser Anbieter seine Statusdatenbank speichert. In der HostFactory-Umgebung als $HF_DBDIR definiert.
    HF_TEMPLATES_FILENAME Der Name der Vorlagendatei. gcpgceinstprov_templates.json
    GCP_CREDENTIALS_FILE Speicherort der Datei mit den Anmeldedaten für das Dienstkonto Google Cloud . Wenn Sie diesen Wert nicht angeben, verwendet die Anwendung die Standardanmeldedaten.
    GCP_PROJECT_ID Die ID des Google Cloud -Projekts. Keine
    GCP_INSTANCE_PREFIX Ein String, der allen von diesem Anbieter erstellten Hosts vorangestellt wird. sym-
    LOGFILE Der Speicherort der Protokolldatei, an die der Anbieter Protokolle sendet. Eine Datei mit einem generierten Namen, die sich im Verzeichnis befindet, das durch die HostFactory-Umgebungsvariable HF_PROVIDER_LOGDIR definiert wird.
    LOG_LEVEL Die Python-Logebene WARNING
    PUBSUB_TIMEOUT Wenn das letzte Pub/Sub-Ereignis älter als dieser Zeitraum in Sekunden ist, wird die Verbindung zum Pub/Sub-Listener getrennt. Dieses Zeitlimit gilt nur, wenn der Pub/Sub-Ereignis-Listener automatisch gestartet wird. Andernfalls wird der Listener unbegrenzt ausgeführt und der Administrator muss den Lebenszyklus steuern. 600
    PUBSUB_TOPIC Der Name des Pub/Sub-Themas. Diese Variable ist nur für die Abwärtskompatibilität vorgesehen. hf-gce-vm-events
    PUBSUB_SUBSCRIPTION Der Name des Pub/Sub-Abos, das auf VM-Ereignisse überwacht werden soll. hf-gce-vm-events-sub
    PUBSUB_LOCKFILE Der Name der Datei, die angibt, ob der Pub/Sub-Ereignis-Listener aktiv ist. /tmp/sym_hf_gcp_pubsub.lock
    PUBSUB_AUTOLAUNCH Wenn der Wert auf true festgelegt ist, versucht der Anbieter, den Pub/Sub-Ereignis-Listener automatisch zu starten. Wenn false, müssen Sie den Pub/Sub-Ereignis-Listener mit der Methode Ihrer Wahl mit dem Befehl hf-gce monitorEvents starten. true

    Das folgende Beispiel zeigt eine einfache Konfiguration:

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
    • PUBSUB_SUBSCRIPTION: Der Name des Pub/Sub-Abos, das Sie zum Überwachen von VM-Ereignissen erstellt haben. Weitere Informationen finden Sie unter Pub/Sub einrichten.
  3. Erstellen oder bearbeiten Sie im selben Verzeichnis eine gcpgceinstprov_templates.json-Datei. Diese Datei definiert die Vorlagen für die VMs, die der Anbieter erstellen kann. Die Attribute in der Vorlage müssen mit der Konfiguration der unterstützenden Instanzgruppe übereinstimmen.

    • Wenn Sie mit RPM installiert haben, verwenden Sie die Datei gcpgceinstprov_templates.json, die Sie in den vorherigen Schritten erstellt haben, als Ausgangspunkt.
    • Wenn Sie aus dem Quellcode erstellt haben, verwenden Sie die folgende Beispielvorlage:

      {
          "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"
              }
          ]
      }
      

      Ersetzen Sie Folgendes:

      • GCP_ZONE: Die Google Cloud Zone, in der sich Ihre Instanzgruppe befindet, z. B. us-central1-a.
      • INSTANCE_GROUP_NAME: Der Name der Instanzgruppe, die vom Anbieter verwaltet wird, z. B. symphony-compute-ig.
  4. Prüfen Sie nach dem Erstellen dieser Dateien, ob das Verzeichnis Ihrer Anbieterinstanz so aussieht wie in diesem Beispiel:

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

Anbieterinstanz aktivieren

Aktivieren Sie die Anbieterinstanz in der Host-Factory-Konfigurationsdatei, um sie zu aktivieren:

  1. Öffnen Sie die Datei $HF_TOP/conf/providers/hostProviders.json.

  2. Fügen Sie einen gcpgceinst-Abschnitt für die Anbieterinstanz hinzu:

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

    Wenn Sie Ihre Shell-Sitzung mit source command konfigurieren, werden diese Variablen durch das Skript so festgelegt, dass sie auf die richtigen Unterverzeichnisse in Ihrer Symphony-Installation verweisen. Der Host-Factory-Dienst verwendet diese Variablen dann, um die vollständigen Pfade zur Laufzeit zu erstellen.

Anfragende Instanz aktivieren

Wenn eine bestimmte Symphony-Komponente den Compute Engine-Anbieter zum Bereitstellen von Ressourcen verwenden soll, müssen Sie sie für diesen Anfragenden aktivieren.

  1. Öffnen Sie die Datei $HF_TOP/conf/requestors/hostRequestors.json.

  2. Fügen Sie in der entsprechenden Anfragestellerinstanz gcpgceinst zum Parameter providers hinzu:

    "providers": ["gcpgceinst"],
    

    Der Anbieterwert muss mit dem Anbieternamen übereinstimmen, den Sie in Anbieterinstanz aktivieren verwenden.

Host-Factory-Dienst starten

Starten Sie den Host-Factory-Dienst, um die Konfigurationsänderungen anzuwenden. Melden Sie sich auf Ihrer primären Symphony-Host-VM als Clusteradministrator an und starten Sie den Dienst:

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

Ersetzen Sie Folgendes:

  • SYMPHONY_USERNAME: Der Symphony-Nutzername für die Authentifizierung.
  • SYMPHONY_PASSWORD: Das Passwort für den Symphony-Nutzer.

Connectors testen

Erstellen Sie eine Ressourcenanfrage, um den Anbieter für Compute Engine zu testen.

Verwenden Sie dazu eine der folgenden Methoden:

  • Symphony-GUI: Eine Anleitung zum Erstellen einer Ressourcenanfrage über die Symphony-GUI finden Sie in der IBM-Dokumentation unter Manually scheduling cloud host requests and returns (Cloud-Host-Anfragen und ‑Rückgaben manuell planen).

  • REST API: So erstellen Sie eine Ressourcenanfrage mit der REST API:

    1. Suchen Sie den Host und den Port der Host Factory REST API:

      egosh client view REST_HOST_FACTORY_URL
      

      Die Ausgabe sieht etwa so aus:

      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. Verwenden Sie zum Erstellen einer Ressourcenanfrage mit der REST API den folgenden Befehl:

      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
      

      Ersetzen Sie Folgendes:

      • PRIMARY_HOST: Der Hostname Ihres primären Hosts aus der Ausgabe des vorherigen Befehls.
      • PORT: die Portnummer Ihres primären Hosts aus der Ausgabe des vorherigen Befehls, z. B. 9080.
      • SYMPHONY_TEMPLATE_ID: Die in der Datei gcpgceinstprov_templates.json definierte templateId, z. B. template-gcp-01.
      • SYMPHONY_USER: Der Symphony-Nutzer für die Authentifizierung.
      • SYMPHONY_PASSWORD: Das Passwort für den Symphony-Nutzer.

      Bei Erfolg sieht die Ausgabe etwa so aus:

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

Nächste Schritte