AKS 集成了 阿里云容器镜像服务(ACR),为您提供更好的镜像仓库服务,便于您管理私有镜像。本文介绍 ACR 使用过程中的一些实践经验与规范建议,帮助您更好地结合使用 AKS 与 ACR。
规格选择
容器镜像服务 ACR 提供了 默认实例版 与 企业版 两种规格,二者在功能规格、应用场景等均有所不同。详见 规格说明。
默认实例版 提供基础的容器镜像服务,包括安全的应用镜像托管能力、精确的镜像安全扫描功能、稳定的国内外镜像构建服务以及便捷的镜像授权功能,从而方便用户进行镜像全生命周期管理。
企业版 是企业级云原生应用制品管理平台,提供容器镜像、Helm Chart,符合 OCI 规范制品的生命周期管理;支持大规模、多地域、多场景下应用制品的高效分发;与容器服务 ACK 无缝集成,帮助企业降低交付复杂度。
因此,建议根据业务实际需求,如需要的命名空间、仓库数量等,选择合适的服务规格。推荐选择 容器镜像服务 ACR 企业版。
资源定义与划分
命名空间
ACR 通过配置命名空间,有效管理各空间下的仓库集合,包括仓库权限和仓库属性。在创建命名空间时,建议按照如下标准:
将一个公司或组织的仓库集中在一个命名空间下面。
可使用公司名称、团队或组织名称作为命名空间,如 aliyun、alibaba、misaka-team 等。
由于命名空间数量是有配额限制的,建议根据团队、组织或者系统的数量,合理划分命名空间。如果需要的命名空间较多,建议购买多个企业版实例。
仓库
镜像命名建议按照如下蚂蚁的统一规范,且一个应用一个镜像库。
镜像命名必须以
reg.docker.alibaba-inc.com/namespace/
作为前缀。镜像命名建议:
reg.docker.alibaba-inc.com/${yournamespace}/alios7u2-{appName}:[{envName}-]{YYYY-mm-dd}-{seq}[.{git commit id}]
。其中,线上正式镜像{envName}
留空。
此外,镜像变更后,需修改镜像 ID,然后 push 至镜像中心,不允许相同镜像 ID 重复上传不同镜像。
仓库权限配置
默认情况下,主账号对自己的资源拥有完整的操作权限。主账号可以为不同的子账号授予访问镜像仓库资源的不同权限。权限配置建议如下:
除云管理员之外,其他成员没有命名空间的操作权限。
命名空间管理员具备仓库级别的全部权限,命名空间普通成员具备只读和 push/pull 镜像权限。
非应用/仓库所属团队人员,但是公司的相关开发和运维人员,只具备只读权限,即
AliyunContainerRegistryReadOnlyAccess
。可根据命名空间、仓库名或前缀进行资源筛选,继而给各 RAM 子账号授权各资源的不同权限。
更多权限配置细节,可参考 配置仓库的 RAM 访问控制。