您可以通過使用Alibaba Cloud CLI調用阿里云ECI API,管理您的彈性容器實例(Elastic Container Instances,ECI)。
教程介紹
以下步驟及示例均已在 Alibaba Cloud Shell 中集成。您可以在 Cloud Shell 中打開,快速體驗通過Alibaba Cloud CLI管理您的ECI實例,包括:創建ECI容器組、獲取ECI容器組信息、刪除ECI容器組等操作。
前提條件
在使用Alibaba Cloud CLI調用ECI API之前,您需要確保:- 已經開通ECI服務,并擁有訪問您相應云資源的權限。
說明 彈性容器實例(ECI)默認使用
AliyunECIContainerGroupRole
角色來訪問您在其他云產品中的資源。 - 在當前ECI可用Region擁有VPC網絡,且在ECI可用區內有VSwitch。
- 在當前ECI可用Region擁有安全組。
相關API
您可以通過使用Alibaba Cloud CLI調用以下API,對ECI實例進行管理。
API名稱 | 說明 |
---|---|
CreateContainerGroup | 創建一個容器組。 |
DescribeContainerGroups | 批量獲取容器組信息。 |
DescribeContainerLog | 獲取容器組日志信息。 |
DeleteContainerGroup | 刪除一個容器組。 |
ExecContainerCommand | 在容器內部執行命令。 |
說明 執行aliyun eci help命令,獲取通過阿里云命令行工具CLI管理彈性容器實例的可用方法。
典型案例
在創建ECI實例之前,您需要先獲取VSwitchId和SecurityGroupId。
- 查詢已創建的交換機的列表。
aliyun vpc DescribeVSwitches | jq .VSwitches.VSwitch | jq .[] | jq .ZoneId
- 假設第一個交換機符合要求,執行以下命令,獲取VSwitchId。
VSwitchId=`aliyun vpc DescribeVSwitches | jq .VSwitches.VSwitch | jq .[0] | jq -r .VSwitchId`
說明 選擇當前Region下,ECI可用區范圍內的交換機。 - 查詢已創建的安全組的基本信息。
aliyun ecs DescribeSecurityGroups | jq .SecurityGroups.SecurityGroup | jq .[] | jq .SecurityGroupId
說明 若上述命令輸出為空,您需要登錄云服務器控制臺創建安全組。 - 執行以下命令,獲取SecurityGroupId。
SecurityGroupId=`aliyun ecs DescribeSecurityGroups | jq .SecurityGroups.SecurityGroup | jq .[0] | jq -r .SecurityGroupId`
- 使用Alibaba Cloud CLI管理彈性容器ECI實例。
示例如下:
- 創建容器組。
類似如下輸出:aliyun eci CreateContainerGroup --SecurityGroupId ${SecurityGroupId} --VSwitchId ${VSwitchId} --ContainerGroupName test-eci --Container.1.Image nginx --Container.1.Name nginx --Container.1.Cpu 1 --Container.1.Memory 2
{"ContainerGroupId":"eci-bp19vpbluci6jm3wblj2","RequestId":"F1F69DA4-4952-441D-A164-7C8E3EDF0DC0"}
- 批量獲取容器組信息。
aliyun eci DescribeContainerGroups --ContainerGroupName test-eci | jq
- 獲取容器組日志信息。
ContainerGroupId=`aliyun eci DescribeContainerGroups --ContainerGroupName test-eci | jq .ContainerGroups | jq .[] | jq -r .ContainerGroupId` aliyun eci DescribeContainerLog --ContainerGroupId ${ContainerGroupId} --ContainerName nginx
- 刪除容器組。
aliyun eci DeleteContainerGroup --ContainerGroupId ${ContainerGroupId}
- 創建容器組。