簡介
本文檔介紹如何在適用於CloudCenter 4.8.2的Amazon Web Services(AWS)雲中新增使用者資源放置指令碼。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本檔案中的資訊是根據以下軟體版本:
- CloudCenter 4.8.2版
- CCO(CiscoCloud Orchestrator)
- CCM(CiscoCloud Manager)
- Redhat7或Centos7
- 用於儲存callout指令碼的儲存庫
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
如何在AWS雲中新增資源放置指令碼?
CloudCenter支援根據使用者設定放置資源的雲有很多。本文檔重點介紹如何在AWS雲中設定資源放置callout指令碼。
請按照以下步驟放置callout指令碼進行資源放置
步驟1.登入儲存庫/Linux VM,可以在其中建立用於放置資源的bash指令碼。如果在任何Linux虛擬機器中建立指令碼,請確保將這些檔案複製到儲存庫中,以便可以訪問該檔案來部署應用程式。
步驟2. vi callout.sh,並在指令碼中輸入內容。
#!/bin/bash
. /utils.sh
print_log "$eNV_imageName"
print_log "$Cloud_Setting_CloudFamily"
print_log "$eNV_parentJobName"
content="{\"vpcId\":\"vpc-31e88948\",
\"subnetId\":\"subnet-44f8bb0c\",
\"securityGroupList\":\"sg-0f05b97b\",
\"vmTagsList\":\"Name:RP_001,PayProfile:Dev,User:AdminUser\",
\"assignPublicIp\":\"true\",
\"nodeInfo\":\"VpcID:vpc-31ee2948, subnetId: subnet-44ftb40c,securityGroupList:sg-0f04b97b \"}"
print_ext_service_result "$content"
附註:用您的資訊替換VPC ID、子網、安全組、vmTagList、node-info。
所有資訊均可從AWS EC2例項獲取
步驟3.將bash指令碼儲存在儲存庫中,並將許可權更改為755。
步驟4. #chmod 755 callout.sh
步驟5.建立指令碼後,您需要從CloudCenter Manager啟用資源放置指令碼。
a.登入到CloudCenter Manager GUI > Environment > New Environment。
b.按一下DEFINE DEFAULTS CLOUD SETTINGS頁籤。
c.選擇要部署環境使用的例項型別和啟用資源放置,如下圖所示。
d.按一下Enable Resource Placement後,將獲得一個用於設定Resource Placement Config檔案的選項,如下圖所示。
附註:提供callout.sh的位置,即您上傳到儲存庫的檔案,然後按一下完成頁籤兩次以退出「部署環境」頁面。
步驟6.使用新建立的部署環境部署新例項。使用您建立的資源放置指令碼成功部署了虛擬機器。
提示:您可以從CCO檢查gateway.log檔案,以驗證指令碼是否成功執行。
這是日誌檔案中顯示的輸出。
2018-01-09 15:16:14,917 INFO service.LifecycleClusterStartAction [RxCachedThreadScheduler-6] - DeploymentJobID=37 requestNodeCount = 1 , minNodeCount=1 , createdCount = 1
2018-01-09 15:16:16,121 INFO strategy.DockerBaseCallout [threadPoolExecutor-21] - Output from Callout
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START^M
Executing service resourcePlacement action with command: "/opt/remoteFiles/cliqr_local_file/callout.sh" from directory: ^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END^M
CLOUD_CENTER_SCRIPT_OUTPUT^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START^M
Executing script/command: /opt/remoteFiles/cliqr_local_file/callout.sh.^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START^M
Ubuntu 14.04^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START^M
^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_START^M
docker_cluster^M
CLIQR_EXTERNAL_SERVICE_LOG_MSG_END^M
CLIQR_EXTERNAL_SERVICE_RESULT_START^M
{"vpcId":" vpc-31e88948",^M
"subnetId":" subnet-44f8bb0c ",^M
"securityGroupList":" sg-0f05b97b ",^M
"vmTagsList":"Name:RP_001,PayProfile:Dev,User:AdminUser",^M
"assignPublicIp":"true",^M
"nodeInfo":"VpcID: vpc-31e88948, subnetId: subnet-44f8bb0c,securityGroupList: sg-0f05b97b "}^M
CLIQR_EXTERNAL_SERVICE_RESULT_END^M