配置ACR企业版免密
使用阿里云镜像服务ACR来拉取镜像时,可以配置免密来简化配置,加速镜像拉取。本文为您介绍如何配置免密拉取ACR企业版镜像。
前提条件
请确保您已完成以下操作:
已开通容器镜像服务ACR服务,并完成了相关的RAM角色授权。
已创建ACR企业版实例并完成镜像仓库相关配置。具体操作,请参见使用企业版实例推送拉取镜像。
背景信息
阿里云容器镜像服务ACR分为个人版和企业版。其中,企业版是企业级云原生应用制品管理平台,提供容器镜像、Helm Chart ,以及符合OCI规范制品的生命周期管理,能够与容器服务Kubernetes版无缝集成,适用于业务大规模部署场景,帮助企业降低交付复杂度。更多信息,请参见容器镜像服务ACR简介。
目前容器镜像服务ACR的镜像使用有如下几种情况:
与ECI同一账号下的ACR个人版镜像默认免密,无需上传密码。
非ACR镜像(Docker镜像)不支持免密,使用OpenAPI创建ECI实例时,您可以通过ImageRegistryCredential参数来上传密码。
配置ACR企业版免密访问
在容器镜像服务控制台打开要配置的ACR实例,配置网络访问控制如下:
公网访问
开启公网访问入口后,可以直接通过公网域名地址来访问ACR企业版实例的镜像(可跨域)。具体操作,请参见配置公网的访问控制。
专有网络访问
使用专有网络VPC访问,需要开启相关授权。具体操作,请参见配置专有网络的访问控制。
配置完成后,您可以记录实例ID、名称、域名等信息,以便后续配置使用。
使用ACR企业版免密拉取镜像(Kubernetes方式)
您可以通过添加Annotation来指定ACR实例,从对应的ACR实例中拉取镜像。
Kubernetes方式仅支持指定单个ACR实例。如果您有多个ACR实例,且实例中存在多种不同的镜像,建议您将镜像直接归属到同一个ACR实例。如果您有配置多个ACR实例的需求,您可以使用OpenAPI方式。
示例如下:
准备YAML文件。
示例test_cri.yaml的内容如下:
apiVersion: v1 kind: Pod metadata: annotations: k8s.aliyun.com/acr-instance-id: "cri-j36zhodptmyq****" #指定ACR企业版实例ID name: cri-test spec: containers: - image: test****-registry.cn-beijing.cr.aliyuncs.com/eci_test/nginx:1.0 #使用公网拉取镜像 imagePullPolicy: Always name: nginx restartPolicy: Never
说明ACR企业版实例支持跨地域使用,即指定的ACR企业版实例与Pod的所属地域可以不同。指定时,需在实例ID前加上所属地域,例如
k8s.aliyun.com/acr-instance-id: "cn-beijing:cri-j36zhodptmyq****"
。创建Pod。
kubectl apply -f test_cri.yaml