0、前序
前几篇文章都是在说如何在Lunix里面安装Docker和STF,阿里云最近推出了ECI弹性容器服务。可以理解为一个Docker容器,按秒计费,如果一直开着,费用不低,还不如组一台ECS服务器。如果每次使用时才激活,这样子又可以省钱,又可以快速部署。但是阿里云的创建ECI页面可算是复杂,要输入的东西非常多,这样不利于快速部署。于是我们需要使用API来创建服务于。
1、准备工作
ECI需要交换机、EIP、安全组、镜像,我们除了EIP之外,其他都要先建好,因为通常不用修改,没必要在API创建。
然后进入 OpenAPI Explorer => https://open.aliyun.com/apis 浏览文档。
接着,我们需要新建一个 AccessKey 。方法在控制台的右上角找到菜单,如下图:
创建完毕后,记录下 AccessKey 及 Access Key Secret
2、开始编码
创建项目.Net项目,NuGet 安装aliyun-net-sdk-core及Newtonsoft.Json
阿里云SDK基本上操作很简单,可以在OpenAPI上查询并且实时调试。
主要思路是先创建一个 Profile 再 创建一个 DefaultAcsClient,再创建一个CommonRequest
往CommonRequest扔入需要执行的操作,等待 GetCommonResponse 基本就完成。和HTTP请求类似。
其中,创建EIP需要用到 AllocateEipAddress 申请EIP DescribeEipAddresses 查看EIP ,ReleaseEipAddress 释放 EIP 参数还是很简单的,略微测试一下即可。
而新建ECI需要先调试 DescribeContainerGroups 参数,获取 以下几个参数
1 | SecurityGroupId =>安全组 |
需要用到的API有 CreateContainerGroup 创建EIP ,DescribeContainerGroups 显示 所有ECI 、DeleteContainerGroup 删除ECI
3、最后GUI修饰
我的逻辑是,先创建EIP,然后创建ECI,最后将EIP提交到DNSPod,完成整个创建流程。可以方便我一键搭建需要服务,也免去每次登陆阿里云的烦恼!~但是删除的时候,需要先删除ECI,要过大约一分钟EIP才能释放,所以还是需要人手操作一下。后续也可以根据代码自己写一下。