上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群组件管理 - Cerberus 说明
容器服务 TKE
腾讯云容器服务 TKE 标准集群组件管理 - Cerberus 说明

文档简介:
组件介绍: Cerberus 组件支持对签名镜像进行可信验证,确保在 TKE 集群中只部署可信授权方签名的容器镜像,降低在容器环境中的镜像安全风险。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

组件介绍

Cerberus 组件支持对签名镜像进行可信验证,确保在 TKE 集群中只部署可信授权方签名的容器镜像,降低在容器环境中的镜像安全风险。

部署在集群内的 Kubernetes 对象

Kubernetes 对象名称
类型
请求资源
所属 Namespace
cerberus-webhook
Deployment
每个实例 CPU 0.5C,Memory 0.5G,共1个实例
tcr-verification
cerberus-webhook
Service
-
tcr-verification
cerberus-webhook
Configmap
-
tcr-verification
cerberus-webhook
Secret
-
tcr-verification
cerberus-webhook
validatingwebhookconfigurations
-
-
cerberus-rolebinding
ClusterRoleBinding
-
-
cerberus-role
ClusterRole
-
-
cerberus-controller
ServiceAccount
-
-

限制条件

TKE 集群版本 = 1.18。
开通并使用 TCR 高级版 容器镜像签名 功能后,才可在 TKE 集群中为已加签的镜像进行验签。
验签需要提前授权容器服务角色拥有使用 TCR 接口的权限。

使用方法

授权容器服务使用 TCR 查询接口

为让 TKE 服务可以读取到您账号下的签名信息,需要在您的账号配置如下策略。
1. 登录 访问管理控制台
2. 在“角色”页面,单击TCR_QCSRole
3. 在 TCR_QCSRole 角色详情页,关联预设策略 QcloudTCRReadOnlyAccess,如下图所示:

安装组件并配置验签策略

1. 登录 容器服务控制台,选择左侧导航栏中的集群
2. 在“集群管理”页面单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的组件管理,进入“组件列表”页面。
4. 在“组件列表”页面中选择新建,并在“新建组件”页面中勾选 Cerberus 组件并进行签名验证策略的参数配置,说明如下:

策略名称:请为验签策略设置合理名称。
命名空间:请选择当前验签策略生效的 Kubernetes 命名空间,每个验签策略仅对一个命名空间生效。
证明者:证明者将定位到镜像加签时所采用的 KMS 密钥,可通过该字段确保镜像签名来源的可信性。
地域:选择 TCR 镜像仓库实例所在的地域,和 TKE 集群所在地域无强制关联性。
TCR 实例:选择 TCR 镜像仓库实例。
签名策略:选择已经创建的签名策略。签名策略和镜像签名时使用的 KMS 密钥相对应,支持选择多个签名策略。
5. 单击确定完成组件创建。
说明
组件创建时则验签策略生效,未通过签名验证的镜像将部署失败。为保障 TKE 基础服务的正常运行,请不要为 TKE 系统组件所在的命名空间(如 kube-system)设置验签策略。
若您需要为集群中相同 Kubernetes 命名空间绑定不同 TCR 仓库实例下的签名策略,可在当前验签策略中新增证明者;若您需要为集群的多个 kubernetes 命名空间都设置镜像签名验证,可直接添加策略

镜像签名验证

1. 登录 容器服务控制台,选择左侧导航栏中的集群
2. 在“集群管理”页面单击目标集群 ID,进入集群详情页。
3. 选择左侧菜单栏中的工作负载,单击新建
4. 在新建工作负载页,配置实例内容器 > 镜像时,选择待部署的已经加签的容器镜像及镜像版本(Tag),同时勾选摘要(SHA256),如下图所示:

5. 单击完成创建工作负载部署。若签名验证通过,则 Pod 将正常部署;若签名验证不通过,则 Pod 部署将被阻断,相关 event 信息展示如下图所示:
若拉取镜像所在 TCR 仓库实例下未开启镜像签名特性,则报错如下:

若拉取镜像没有签名信息,则报错如下:

若拉取镜像的签名信息验证不通过,则报错如下:

说明
镜像签名验证目前只支持使用 digest 格式的镜像,否则会验证不通过。
相似文档
  • 组件介绍: Dynamic Scheduler 是容器服务 TKE 基于 Kubernetes 原生 Kube-scheduler Extender 机制实现的动态调度器插件,可基于 Node 真实负载进行预选和优选。在 TKE 集群中安装该插件后,该插件将与 Kube-scheduler 协同生效,有效避免原生调度器基于 request 和 limit 调度机制带来的节点负载不均问题。
  • 组件介绍: DeScheduler 是容器服务 TKE 基于 Kubernetes 原生社区 DeScheduler 实现的一个基于 Node 真实负载进行重调度的插件。在 TKE 集群中安装该插件后,该插件会和 Kube-scheduler 协同生效,实时监控集群中高负载节点并驱逐低优先级 Pod。
  • 组件介绍: Network Policy 是 Kubernetes 提供的一种资源,用于定义基于 Pod 的网络隔离策略。它描述了一组 Pod 是否可以与其他组 Pod,以及其他 Network Entities 进行通信。本组件提供了针对该资源的 Controller 实现。如果您希望在 IP 地址或端口层面(OSI 第3层或第4层)控制特定应用的网络流量,则可考虑使用本组件。
  • 组件介绍: Nginx 可以用作反向代理、负载平衡器和 HTTP 缓存。Nginx-ingress 组件是使用 Nginx 作为反向代理和负载平衡器的 Kubernetes 的 Ingress 控制器。您可以部署 Nginx-ingress 组件,在集群中使用 Nginx-ingress。
  • 组件介绍: OLM(Operator Lifecycle Manager)作为 Operator Framework 的一部分,可以帮助用户进行 Operator 的自动安装,升级及生命周期的管理。同时 OLM 自身以 Operator 的形式进行安装部署,其工作方式是以 Operators 来管理 Operators,且面向 Operator 提供的声明式(declarative)自动化管理能力完全符合 Kubernetes 交互的设计理念。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部