CCE Credential Controller 说明
更新时间:2024-09-12
使用前提
- 创建容器镜像服务CCR企业版实例,具体操作请参考 创建企业版实例 。
- CCE集群所在的私有网络配置到CCR企业版实例。CCE集群所在的私有网络查询请参考 查看集群,CCR企业版实例配置私有网络访问请参考 配置私有网络访问。
组件介绍
CCE Credential Controller 组件提供在CCE集群中免密拉取CCR企业版容器镜像的能力。
- 在CCE集群中安装免密组件后,组件会自动创建CCR企业版实例的镜像访问凭据,并关联到免密组件生效的命名空间和ServiceAccount下。
- 在免密组件生效的命名空间下使用ServiceAccount创建工作负载时,默认会自动配置ImagePullSecret拉取CCR企业版实例的镜像,做到免配置仓库秘钥使用CCR镜像的效果。
使用场景
- 按照K8S规范,使用私有镜像部署工作负载时必须为工作负载配置私有镜像的访问凭据,关于K8S集群中使用私有镜像的更多介绍请参考 从私有仓库拉取镜像 。
- 在CCE集群中安装免密组件后,会自动创建CCR企业版实例的镜像访问凭据,用户创建工作负载时不再需要显式配置ImagePullSecret即可通过内网拉取CCR企业版实例中的私有镜像。简化镜像配置流程,提高了CCE集群使用CCR镜像部署服务的效率。
限制说明
- 仅支持使用CCR实例的私有网络域名进行免密拉取,公网域名不支持免密。
- 仅支持 v1.18 及以上版本的Kubernetes 集群,且不支持ARM架构集群。
- CCR容器镜像服务在南京未开服,不支持在南京地域的CCE集群中使用免密组件。
注意事项
- 组件安装:免密组件安装过程会在CCE集群中创建一系列资源资源对象,请使用具有CCE集群管理权限的用户安装组件。
- 组件配置:在集群的系统命名空间kube-system下,免密组件默认只给名称为"default"的ServiceAccount关联ImagePullSecret,如果需要对kube-system命名空间下非"default" ServiceAccount配置免密,请使用指定ServiceAccount的方式。
- 组件工作:配置免密组件以后,在提交工作负载时请不要再手动配置ImagePullSecret,手动配置后会覆盖默认的ImagePullSecret,将导致无法使用自动访问凭证拉取CCR实例镜像。
- 组件卸载:免密组件卸载后,原有自动配置的ImagePullSecret将会在24小时内过期,已有关联的工作负载将无法免密从CCR拉取镜像。
安装组件
- 登录百度智能云官网进入管理控制台,进入容器引擎CCE>集群管理>集群列表>组件管理,切换到镜像Tab页,在组件管理列表中选择CCE Credential Controller组件单击“安装”。
- 填写组件安装参数:
- 关联实例:需要关联的CCR实例,仅支持同一地域下的CCR实例,如果尚未创建CCR实例点击 去创建CCR企业版实例。
-
访问凭据
- 自动创建访问凭据:免密组件自动获取CCR实例的临时密码并创建创建ImagePullSecret,同时支持在临时密码过期前自动更新临时密码,保证ImagePullSecret有效。
- 指定访问凭据:需要提供访问关联CCR实例的固定用户名密码(注:该用户名密码是指在CCR控制台配置后用于docker login的用户名密码,非百度智能云账户的登录用户),免密组件将使用该用户名密码区配置镜像访问凭据。由于固定密码无法校验校验有效性及自动更新,请确保用户密码及访问凭据持续有效,否则无法拉取镜像。
- 自动创建访问凭据:免密组件自动获取CCR实例的临时密码并创建创建ImagePullSecret,同时支持在临时密码过期前自动更新临时密码,保证ImagePullSecret有效。
- 命名空间:免密组件生效的命名空间,默认*表示所有的命名空间都会生效,指定多个命名空间用逗号分隔。
- ServiceAccount:免密组件生效的ServiceAccount,默认*表示所有的都会生效,指定多个ServiceAccount用逗号分隔。
- 点击”安装”按钮以后,等待组件安装成功。
使用免密组件提交工作负载
免密组件安装成功以后,在免密组件生效的命名空间下使用ServiceAccount创建工作负载时,会自动注入CCR实例的镜像访问凭据。
- 备注:在用户创建的工作负载当中没有明确指定ImagePullSecret和ServiceAccount的情况下,K8S 会尝试从当前命名空间下名为"default"的ServiceAccount资源中查找匹配合适的ImagePullSecret。
部署情况
安装 CCE Credential Controller 组件,将在CCE集群中部署以下对象
对象名称 | 所属namespace | 所占资源 | 类型 |
---|---|---|---|
cce-credential-controller | kube-system | cpu:500m memory: 500Mi |
Deployment |
cce-credential-controller | kube-system | - | ServiceAccount |
cce-credential-controller | kube-system | - | Secret |
cce-credential-controller | kube-system | - | ConfigMap |
f0ec2fe2.baidubce.com | kube-system | - | ConfigMap |
cce-credential-controller | kube-system | - | Service |
cce-credential-controller | kube-system | - | MutatingWebhookConfiguration |
cce-credential-controller | - | - | ClusterRole |
cce-credential-controller | - | - | ClusterRoleBinding |
cce-credential-controller | - | - | CCEImageCredential |
版本记录
版本号 | 适配集群版本 | 更新时间 | 更新内容 | 影响 |
---|---|---|---|---|
1.0.1 | CCE/v1.18 | 2024.09.10 | 首次上线 | - |