您可以通过使用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}
- 创建容器组。