IBM Cloud Docs
Plan anwenden

Plan anwenden

Wenn Sie einen Plan anwenden, werden die IBM Cloud®-Ressourcen bereitgestellt, um eine IBM Spectrum Symphony-Clusterinstanz in Ihrem IBM Cloud-Konto mit Ihrer speziellen Auswahl an Konfigurationseigenschaften zu erstellen.

Plan über die Benutzerschnittstelle anwenden

  1. Nachdem Sie einen Plan in der IBM Cloud-Konsole generiert haben, klicken Sie auf Plan anwenden. Diese Aktion generiert ein neues Protokoll, das auf der Registerkarte "Jobs" angezeigt werden kann.
  2. Überprüfen Sie die Protokolldatei auf Fehler, beheben Sie die Fehler und klicken Sie anschließend erneut auf Plan anwenden.
  3. Nachdem Sie einen Plan erfolgreich angewendet haben, können Sie alle in diesem Arbeitsbereich implementierten Ressourcen überprüfen, indem Sie auf die Registerkarte Ressourcen klicken.

Plan über die Befehlszeilenschnittstelle anwenden

Führen Sie den folgenden Befehl aus, um einen Plan auf Ihren Arbeitsbereich anzuwenden:

ibmcloud schematics apply --id <WORKSPACE_ID>

Während die Ressourcen implementiert werden, können Sie die Protokolldateien auf Fehler überwachen oder bestätigen, dass die Aktion erfolgreich ausgeführt wurde. Dieser Schritt kann einige Zeit dauern, je nachdem, wie viele virtuelle Server als Teil Ihrer Konfigurationsdatei bereitgestellt werden. Führen Sie den folgenden Befehl aus, um Ihre Protokolldateien zu überwachen:

ibmcloud schematics logs --id <WORKSPACE_ID>

Beispielantwort:

2021/04/05 09:44:54 Terraform apply | Apply complete! Resources: 14 added, 0 changed, 0 destroyed.
2021/04/05 09:44:54 Terraform apply |
2021/04/05 09:44:54 Terraform apply | Outputs:
2021/04/05 09:44:54 Terraform apply |
2021/04/05 09:44:54 Terraform apply | sshcommand = ssh -J root@52.116.124.67  root@10.241.0.6
2021/04/05 09:44:54 Command finished successfully.
2021/04/05 09:45:00 Done with the workspace action

Nachdem der Plan erfolgreich angewendet wurde, generiert er eine sshcommand im Abschnitt Ausgaben im Terraform-Code. Sie können diesen Befehl verwenden, um sich beim IBM Spectrum Symphony-Cluster anzumelden. Wenn Sie nur IP-Adressen für die Eigenschaft ssh_allowed_ips angegeben haben, können diese IP-Adressmaschinen diesen SSH-Befehl verwenden.

Anwenden eines Plans über die API

  1. Wenn Sie einen Plan mithilfe der IBM Cloud Schematics Python-APIs anwenden möchten, erstellen Sie eine Python-Datei und geben Sie einen Namen Ihrer Wahl an, z. B. schematics_apply_plan.py.

  2. Kopieren Sie die Beispielanforderung Plan mit Schematics Python-API anwenden und fügen Sie sie in Ihre Python-Datei ein.

  3. Ändern Sie die folgenden Parameter als Teil der Anforderung:

    • Ersetzen Sie Ihren API-Schlüssel IBM Cloud durch die Variable authenticator = IAMAuthenticator('<ibm-api-key>').
    • Ändern Sie den API-Endpunkt in den in API-Endpunkte genannten Endpunkt entsprechend der Position, an der sich Ihr Arbeitsbereich Schematics befinden soll. Beispiel: schematics_service.set_service_url('https://us.schematics.cloud.ibm.com').
  4. Geben Sie in der Funktion schematics_service.apply_workspace_command die folgenden Parameter an:

    • Geben Sie die Arbeitsbereichs-ID an, die Sie in der Task Arbeitsbereich erstellen generiert haben, z. B. us-south.workspace.Terraform-Schematics-Python-Workspace.b3bbc9f5.
    • Exportieren Sie Ihren API-Schlüssel für IBM Cloud mit dem folgenden Befehl:
    export IBMCLOUD_API_KEY =”<ibm-cloud-api-key>”
    
    • Führen Sie den folgenden curl-Befehl aus, um ein Aktualisierungstoken zu erstellen:
    curl -X POST "https://iam.cloud.ibm.com/identity/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=$IBMCLOUD_API_KEY" -u bx:bx
    
  5. Führen Sie das Script Python mithilfe von python3 <python-file-name> aus, um einen Plan in IBM Cloudanzuwenden.

  6. Sie erhalten eine Aktivitäts-ID als Antwort, wenn die als Teil der Anforderung übergebenen Parameter gültig sind. Der angewendete Plan sollte im Arbeitsbereich Schematics angezeigt werden, den Sie in der IBM Cloud-Konsole erstellt haben. Wenn Sie keine erfolgreiche Antwort erhalten, enthält die Fehlerantwort die Fehler, die Sie beheben müssen. Beheben Sie diese Fehler und führen Sie das Skript aus, bis Sie eine gültige Antwort erhalten und einen Plan anwenden können.

  7. Wenn Sie die Protokolle der Aktion überprüfen möchten, lesen Sie Aktionsprotokolle mit der Schematics-API abrufen, um die Protokolle abzurufen. Die Antwort enthält den Status der Aktion und wird entweder im Status COMPLETED oder FAILED angezeigt.

Beispiel für eine Python-Anforderung


# Apply a plan using Schematics Python API

import json, logging

from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_schematics.schematics_v1 import SchematicsV1

logging.basicConfig()
logging.root.setLevel(logging.NOTSET)
logging.basicConfig(level=logging.NOTSET)

authenticator = IAMAuthenticator('<ibmcloud-api-key>')

schematics_service = SchematicsV1(authenticator = authenticator)

schematics_service.set_service_url('https://us.schematics.cloud.ibm.com')

logging.info("Started Applying Schematic Plan")

workspace_activity_apply_result = schematics_service.apply_workspace_command(
    w_id='<workspace id>',
    refresh_token='<refresh-token>'
).get_result()

print(json.dumps(workspace_activity_apply_result, indent=2))

logging.info("Completed Applying Schematic Plan")

Beispiel für eine Python-Antwort

INFO:root:Started Applying Schematic Plan
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): iam.cloud.ibm.com:443
DEBUG:urllib3.connectionpool:https://iam.cloud.ibm.com:443 "POST /identity/token HTTP/1.1" 200 985
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): us.schematics.cloud.ibm.com:443
DEBUG:urllib3.connectionpool:https://us.schematics.cloud.ibm.com:443 "PUT /v1/workspaces/us-south.workspace.Schematic-Sunil-Test-Workspace.5a4cbf11/apply HTTP/1.1" 202 49
{
  "activityid": "33bade478b4e93f5c613e4f62943ad9a"
}
INFO:root:Completed Applying Schematic Plan