名词解释
相信很多使用过阿里云ECI的用户都会有个比较头疼的问题,就是私有镜像还需要手动明文输入仓库的认证用户名和密码。虽然我们ECI管控会对用户的敏感信息进行编码、压缩后传输,但是依然繁琐而且用户端操作依然不够安全。目前阿里云容器镜像服务也提供openAPI让用户获取临时用户名和免密,但是会有过期时间,超过过期时间,容器重启需要拉取最新的镜像依然会认证失败,最终导致容器启动失败。而且如果公有仓库如果将来变成私有仓库,如需要重新拉取镜像也是会失败。
其实不仅仅ECI有这样的问题,即便是用户自建k8s集群或者使用阿里云的k8s容器服务,同样会遇到类似的问题,也需要用户自己编写复杂的imagePullSecret对象来传递用户的认证信息。
针对以上的用户痛点问题,如今ECI已经正式支持用户私有镜像的免密拉取,从现在起,只要是用户自己账号下的阿里云ACR的容器镜像一律不再需要用户手动输入用户名和密码了。不论是直接通过ECI openAPI还是通过ECI virtual kubelet创建pod,如今都可以免密。
细心的同学可能已经发现阿里云ECI的RAM角色AliyunECIContainerGroupRole的系统授权策略中已经自动添加了阿里云容器镜像的相关操作权限,如下所示:
{
"Version": "1",
"Statement": [
{
"Action": [
"cr:Get*",
"cr:List*",
"cr:PullRepository"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
没错,阿里云ECI已经开始支持用户镜像的免密拉取了,不需要用户做任何操作。
需要说明的是,
1、目前的免密只支持阿里云ACR的容器镜像,如果是非阿里云ACR的镜像,建议用户拷贝到阿里云ACR。
2、2018年12月25日12:00之前创建的ECI暂时还不支持免密功能的这些特性。
大家赶紧去阿里云ECI上去体验一下吧。阿里云弹性容器实例(ECI)将会不断优化用户使用体验,更多功能也都在持续开发中,请大家保持关注。