免密拉取容器镜像
更新时间:2021-12-16
本文介绍通过安装、配置 cce-image-plugin 拉取 CCR 私有仓库的镜像,从而省去在集群资源 YAML 中显式配置 ImagePullSecret 的重复工作。作用机制参考:通过 serviceAccount 配置pod的imagepullsecrets
准备工作
1.创建专用子用户
使用 cce-image-plugin 需要配置用户ak、sk。建议申请专用的子用户,使用该子用户的ak,sk,方便控制权限范围。
2.子用户添加权限
子用户需要有访问 CCR 服务的权限,策略等级至少是 CCROperatePolicy。
详情参考:如何给子用户增加权限策略
3.开通CCR服务(创建CCR账号)
在 console 上进入 CCR 页面,根据提示创建CCR 账号。详情参考:开通CCR服务
4.添加镜像仓库权限
为子用户授予命名空间权限。详情参考:添加镜像权限
5.新建ak 、 sk
创建子用户的ak、sk,操作路径参考下图。
启用步骤
部署插件
- 依次选择:容器引擎 CCE -> Helm 模版 -> 百度云模版
- 通过模版名称
cce-image-plugin
搜索模版 - 点击安装并填写相应的参数
* 实例名称:插件实例名称,例:imagepull;
* 部署集群:选择需要部署 image 插件的集群;
* accessKey:子用户ak;
* secretKey:子用户sk;
* serviceAccount:插件作用的serviceAccount;
* namespace:插件所作用的集群命名空间。
在指定的 namespace 下创建且使用了指定的 serviceAccount 的 pod,会自动设置 spec.imagePullSecrets 字段。
如果资源本身就指定了 imagePullSecrets ,插件生成的 secret 不会注入进该资源,即该资源无法使用免密拉取的功能。