《企业级云原生白皮书项目实战》——第三章 容器——3.2 业务部署——3.2.1 ACR容器镜像服务(4) https://developer.aliyun.com/article/1229388?groupCode=supportservice
•使用自定义RAM角色的AccessKey ID和AccessKey Secret进行镜像拉取的情况下,需要把访问密钥写入confifigMap,这样存在一定的密钥泄露风险。请确定AccessKey ID和AccessKey Secret所属的RAM角色只拥有拉取容器镜像的相关权限。
•在集群中创建新的Service Account一段时间后,免密插件根据ACK集群默认权限生成的ACR私有镜像拉取Token才会更新到应用使用到的Service1Account中,使用Service Account的应用才会使用Token去拉取镜像。如果创建完Service Account之后立即创建应用则会出现因鉴权失败无法拉取的情况。
图:拉取账号更新示例
•免密插件默认覆盖ACK中所有命名空间中默认的ServiceAccount中的imagePullSecret字段。被覆盖的ServiceAccount会随着对应kube-system命名空间中acr-con-fifiguration配置项中的service-account字段变动而变动。(见上图)。
•在修改kube-system命名空间中的acr-confifiguration配置项时,请确认缩进是否与给出的场景的例子相同。建议直接复制对应场景的YAML内容到编辑器中,修改对应的值然后直接应用到集群,以保证YAML格式的正确性。
•企业版实例创建后,默认不允许通过公网访问。因此在配置公网的访问控制策略前,需要先打开公网的访问入口。在打开访问入口之后,会默认生成一条127.0.0.1/32的公网白名单。如果删除所有白名单,可以认为放开所有的公网机访问ACR实例。
•镜像太大,造成每次部署时候拉取速度慢,以及传统容器运行需要将全量镜像数据下载后再解包,然而容器启动可能仅使用其中部分的内容,导致容器启动耗时长。此种场景可以考虑P2P加速和按需加载容器镜像。
从本地数据中心访问容器镜像服务企业版实例
客户的网络架构通常是多云部署,或者云上和云下通过VPN网关、高速通道物理专线、智能接入网关打通本地数据中心和云上VPC,从而实现本地的数据中心或者本地IDC集群访问ACR服务。通过上一小节《企业镜像服务推拉架构》,我们知道ACR企业版涉及Registry、 AUthorization Service三个服务,所以如果要实现云上和IDC打通的方式实现IDC访问ACR服务,需要打通这三个服务的三个域名。
前提条件:
•云上VPC中的ECS能够正常访问容器镜像服务企业版实例。具体操作,请参见配置专有网络的访问控制。
•已打通本地数据中心和云上VPC。具体操作,请参见连接本地IDC。
获取路由地址
需要获取OSS Bucket、容器镜像服务企业版实例和鉴权服务在VPC中的IP,根据获取的IP在本地数据中心创建路由规则。
•获取OSS Bucket在VPC中的域名。关于OSS内网域名的更多信息,请参见OSS内网域名与VIP网段对照表。
•OSS Bucket在VPC中的域名为InstanceId−registry.oss−{InstanceId}-registry.oss-{RegionId}-internal.aliyuncs.com ( 如果您使用的是自定义OSS Bucket,则域名为CustomizedOSSBucket.oss−{CustomizedOSSBucket}.oss-{RegionId}-internal.aliyuncs.com)
•获取容器镜像服务企业版实例在VPC中的域名。
•容器镜像服务企业版实例在VPC中的默认域名为InstanceName−registry−vpc.{InstanceName}-registry-vpc.{RegionId}.cr.aliyuncs.com 。
•获取鉴权服务在VPC中的域名。
•执行以下命令,获取鉴权服务在VPC中的域名。
•curl -vv https://InstanceName−registry−vpc.{InstanceName}-registry-vpc.{RegionId}.cr.aliyuncs.-com/v2/
•获取配置路由规则的IP。
《企业级云原生白皮书项目实战》——第三章 容器——3.2 业务部署——3.2.1 ACR容器镜像服务(6) https://developer.aliyun.com/article/1229384?groupCode=supportservice