이 문서에서는 Compute Engine용 IBM Symphony 제공자를 설치하고 구성하는 방법을 설명합니다. 가상 머신 (VM) 인스턴스 이벤트를 모니터링하도록 Pub/Sub을 설정하고, 제공업체 플러그인을 빌드 및 설치하고, Symphony 호스트 팩토리 환경 내에서 제공업체 인스턴스를 구성하는 방법을 알아봅니다.
Google Cloud용 Symphony 커넥터에 대한 자세한 내용은 IBM Spectrum Symphony와 Google Cloud통합을 참고하세요.
시작하기 전에
Compute Engine용 Symphony 제공자를 설치하려면 다음 리소스가 있어야 합니다.
- 호스트 팩토리 서비스가 사용 설정된 실행 중인 IBM Spectrum Symphony 클러스터 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: Google Cloud프로젝트의 IDNETWORK_NAME: Symphony 리소스가 배포된 VPC 네트워크의 이름입니다.NETWORK_TAGS_MASTER: Symphony 기본 호스트 VM에 적용된 네트워크 태그입니다.NETWORK_TAGS: Symphony 컴퓨팅 노드 VM에 적용된 네트워크 태그입니다.
자세한 내용은 VPC 방화벽 규칙 만들기를 참고하세요.
필요한 역할
서비스 계정을 사용하는 인스턴스를 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1) -
서비스 계정 사용자(
roles/iam.serviceAccountUser)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Compute Engine 환경 준비
Symphony 호스트 팩토리에서 VM을 만들고 관리하도록 하려면 다음 Google Cloud 리소스를 구성해야 합니다.
인스턴스 템플릿: 호스트 팩토리에서 만드는 Symphony 컴퓨팅 VM의 구성을 정의하는 청사진입니다.
관리형 인스턴스 그룹 (MIG): 인스턴스 템플릿을 사용하여 만든 동일한 VM 그룹입니다. 호스트 팩토리는 워크로드 수요에 따라 VM을 추가하거나 삭제하여 이 그룹을 확장하거나 축소합니다.
Pub/Sub 주제 및 구독: 선점 또는 삭제와 같은 VM 수명 주기 이벤트를 Symphony 제공자에게 알리는 메시지 서비스입니다. 이 서비스를 통해 제공자는 클러스터의 정확한 상태를 유지할 수 있습니다.
인스턴스 템플릿 만들기
gcloud compute instance-templates create 명령어를 사용하여 Symphony 컴퓨팅 호스트의 인스턴스 템플릿을 만듭니다. 이 템플릿은 생성하는 VM의 속성을 정의합니다. 이러한 VM에는 Symphony가 설치되어 있어야 합니다. Symphony가 미리 설치된 이미지를 사용하거나 VM을 만든 후 시작 스크립트를 사용하여 Symphony를 설치할 수 있습니다. 컴퓨트 호스트 VM에 Symphony를 설치하는 방법에 관한 자세한 내용은 IBM 문서의 Linux 컴퓨트 호스트에 설치를 참고하세요.
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: 컴퓨팅 인스턴스의 머신 유형입니다. 자세한 내용은 커스텀 머신 유형으로 VM 만들기를 참고하세요.SUBNET_NAME: 인스턴스의 서브넷 이름입니다. 자세한 내용은 인스턴스의 네트워크 구성 보기를 참고하세요.SERVICE_ACCOUNT_EMAIL: 시작하기 전에 섹션에서 설정한 서비스 계정의 이메일입니다. 이 서비스 계정에 필수 역할 섹션에 지정된 역할이 있는지 확인합니다.REGION: 리소스를 만들려는 Google Cloud 리전입니다.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: Google Cloud프로젝트의 ID 자세한 내용은 프로젝트 이름, 번호, ID 찾기를 참고하세요.INSTANCE_TEMPLATE_NAME: 이전 단계에서 만든 인스턴스 템플릿의 이름입니다.REGION: 리소스가 있는 리전(예:us-east)ZONE: 선택한 리전 내 영역입니다(예:a).
MIG 만들기에 대한 자세한 내용은 단일 영역에서 MIG 만들기를 참고하세요.
Pub/Sub 설정
Symphony 제공업체가 VM 수명 주기 이벤트에 관한 알림을 수신하도록 하려면 Pub/Sub 주제와 구독을 구성하세요.
Symphony 기본 호스트에서 다음 환경 변수를 설정합니다.
export GCP_PROJECT=PROJECT_ID export PUBSUB_TOPIC=PUBSUB_TOPIC다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트의 ID입니다.PUBSUB_TOPIC:Google Cloud 주제의 이름입니다(예:hf-gce-vm-events).
Pub/Sub 주제를 만듭니다.
gcloud pubsub topics create $PUBSUB_TOPICgcloud 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 구성 방법에 대한 자세한 내용은 Google Cloud CLI를 사용하여 Pub/Sub에서 메시지 게시 및 수신을 참고하세요.
호스트 팩토리 환경 변수 로드
호스트 팩토리 서비스를 구성하거나 관리하려면 셸 세션에 Symphony 환경 변수를 로드해야 합니다. Symphony 기본 호스트 VM에서 다음 명령어를 실행합니다.
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 기본 호스트에서 다음 단계를 따르세요.
Google Cloud Symphony 커넥터의
yum저장소를 추가합니다.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 EOMCompute 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
소스 코드에서 제공자 빌드
제공자 플러그인 디렉터리의 bin 디렉터리에 CLI 실행 파일을 빌드하고 설치하려면 다음 단계를 따르세요.
GitHub에서
symphony-gcp-connector저장소를 클론합니다.git clone https://github.com/GoogleCloudPlatform/symphony-gcp-connector.git프로젝트에서
hf-provider디렉터리로 이동합니다.cd PROJECT_ROOT/hf-providerPROJECT_ROOT를 hf-provider 디렉터리가 포함된 최상위 디렉터리의 경로로 바꿉니다(예:/home/user/symphony-gcp-connector).uv가 설치되어 있지 않다면 설치합니다.pip install uvuv를 사용하여 Python 가상 환경을 만듭니다.uv venv가상 환경을 활성화합니다.
source .venv/bin/activate필요한 프로젝트 종속 항목을 설치합니다.
uv pip install .Python 애플리케이션을 독립형 실행 파일로 번들링하는 PyInstaller를 설치합니다.
uv pip install pyinstallerCompute Engine 클러스터용
hf-gceCLI를 만듭니다.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/OS는 실행 파일을 빌드하는 데 사용된 Python 버전을 지원해야 합니다. 실행 파일은 Python 3.9.6으로 테스트되었습니다.
설치 후 제공업체 플러그인의 디렉터리 구조는 다음 예와 비슷합니다.
├── bin
│ └── hf-gce
└── scripts
├── getAvailableTemplates.sh
├── getRequestStatus.sh
├── getReturnRequests.sh
├── requestMachines.sh
└── requestReturnMachines.sh
제공자 플러그인 사용 설정
Compute Engine 제공자 플러그인을 사용 설정하려면 호스트 팩토리 구성에 등록하세요.
$HF_TOP/conf/providerplugins/hostProviderPlugins.json파일을 엽니다.$HF_TOP환경 변수는 source 명령어를 사용할 때 환경에 정의됩니다. 값은 IBM Spectrum Symphony 호스트 팩토리 서비스의 최상위 설치 디렉터리 경로입니다.gcpgce제공업체 플러그인 섹션을 추가합니다.{ "name": "gcpgce", "enabled": 1, "scriptPath": "${HF_TOP}/${HF_VERSION}/providerplugins/gcpgce/scripts/" }$HF_TOP의 기본값으로 버전 1.2의 제공자 플러그인을 사용하는 경우 결과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_FILEGoogle Cloud 서비스 계정 사용자 인증 정보 파일의 위치입니다. 이 값을 지정하지 않으면 애플리케이션에서 기본 사용자 인증 정보를 사용합니다. GCP_PROJECT_IDGoogle Cloud 프로젝트의 ID입니다. 없음 GCP_INSTANCE_PREFIX이 제공업체에서 만든 모든 호스트에 추가할 문자열입니다. sym-LOGFILE제공자가 로그를 전송하는 로그 파일의 위치입니다. 생성된 이름이 있는 파일로, HostFactory 환경 변수 HF_PROVIDER_LOGDIR로 정의된 디렉터리에 있습니다.LOG_LEVELPython 로그 수준 WARNINGPUBSUB_TIMEOUT가장 최근의 Pub/Sub 이벤트가 이 기간(초)보다 오래된 경우 Pub/Sub 리스너가 연결 해제됩니다. 이 제한 시간은 Pub/Sub 이벤트 리스너가 자동으로 실행되는 경우에만 적용됩니다. 그렇지 않으면 리스너가 무한정 실행되고 관리자가 수명 주기를 제어해야 합니다. 600PUBSUB_TOPICPub/Sub 주제의 이름입니다. 이 변수는 하위 호환성만을 위한 것입니다. hf-gce-vm-eventsPUBSUB_SUBSCRIPTIONVM 이벤트를 모니터링할 Pub/Sub 구독의 이름입니다. hf-gce-vm-events-subPUBSUB_LOCKFILEPub/Sub 이벤트 리스너가 활성 상태인지 여부를 나타내는 파일의 이름입니다. /tmp/sym_hf_gcp_pubsub.lockPUBSUB_AUTOLAUNCHtrue로 설정하면 제공자가 Pub/Sub 이벤트 리스너를 자동으로 실행하려고 시도합니다.false인 경우 원하는 방법을 사용하여hf-gce monitorEvents명령어로 Pub/Sub 이벤트 리스너를 실행해야 합니다.true다음 예시에서는 기본 구성을 보여줍니다.
{ "GCP_PROJECT_ID": "PROJECT_ID", "LOG_LEVEL":"INFO", "PUBSUB_SUBSCRIPTION": "PUBSUB_SUBSCRIPTION", "PUBSUB_TIMEOUT": 100 }다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트의 ID입니다.PUBSUB_SUBSCRIPTION: VM 이벤트를 모니터링하기 위해 만든 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: 인스턴스 그룹이 있는 Google Cloud 영역입니다(예:us-central1-a).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}/" }source command를 사용하여 셸 세션을 구성하면 이 스크립트가 이러한 변수를 설정하여 Symphony 설치 내의 올바른 하위 디렉터리를 가리킵니다. 그런 다음 호스트 팩토리 서비스는 이러한 변수를 사용하여 런타임에 전체 경로를 구성합니다.
요청자 인스턴스 사용 설정
특정 Symphony 구성요소가 Compute Engine 제공자를 사용하여 리소스를 프로비저닝하도록 하려면 해당 요청자에 대해 사용 설정하세요.
$HF_TOP/conf/requestors/hostRequestors.json파일을 엽니다.적절한 요청자 인스턴스에서
providers매개변수에gcpgceinst를 추가합니다."providers": ["gcpgceinst"],제공자 값은 제공자 인스턴스 사용 설정에서 사용하는 제공자 이름과 일치해야 합니다.
호스트 팩토리 서비스 시작
구성 변경사항을 적용하려면 호스트 팩토리 서비스를 시작합니다. Symphony 기본 호스트 VM에서 클러스터 관리자로 로그인하고 서비스를 시작합니다.
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 GUI: Symphony GUI를 사용하여 리소스 요청을 만드는 방법은 IBM 문서의 클라우드 호스트 요청 및 반환 수동 예약을 참고하세요.
REST API: REST API를 사용하여 리소스 요청을 만들려면 다음 단계를 따르세요.
호스트 팩토리 REST API의 호스트와 포트를 찾습니다.
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 CONNECTEDREST API를 사용하여 리소스 요청을 만들려면 다음 명령어를 사용하세요.
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:gcpgceinstprov_templates.json파일에 정의된templateId입니다(예:template-gcp-01).SYMPHONY_USER: 인증을 위한 Symphony 사용자입니다.SYMPHONY_PASSWORD: Symphony 사용자의 비밀번호입니다.
성공하면 출력은 다음 예와 비슷합니다.
{"scheduled_request_id":["SD-641ef442-1f9e-40ae-ae16-90e152ed60d2"]}