上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 集群服务画像
容器引擎服务CCE
百度智能云容器引擎服务 CCE 集群服务画像

文档简介:
CCE 的服务画像可以查看集群内所有资源的特征和规范性,如镜像检查、应用检查、网络检查、安全检查,并给出对应的评分和详细内容,帮助用户更好的了解集群内服务状况。 注意:服务画像的结果基于前一天的集群数据,且检查规则是一般判定标准,不一定适用于所有业务场景。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

CCE 的服务画像可以查看集群内所有资源的特征和规范性,如镜像检查、应用检查、网络检查、安全检查,并给出对应的评分和详细内容,帮助用户更好的了解集群内服务状况。

注意:服务画像的结果基于前一天的集群数据,且检查规则是一般判定标准,不一定适用于所有业务场景。

检查对象

检查的对象包括:

  • 集群内的所有命名空间。
  • 资源对象包括:Deployment、DaemonSet、StatefulSet、Service、CronJob、Job。

检查规则

一. 镜像检查

检查项 含义 影响级别
tagNotSpecified 镜像地址没有声明 tag或者 tag 为 latest danger
pullPolicyNotAlways 镜像拉取策略不是 always warning

解释:

  • tagNotSpecified: 如果不声明镜像的版本(tag),则默认为 latest。不指定 tag 可能会导致各种各样的问题,如同一时刻不同 pod 可能运行了不同的程序,尽管他们看起来镜像版本是相同的。另外,没有版本标识的镜像在发布时无法区分版本号,无法进行回滚操作。
  • pullPolicyNotAlways: 依赖缓存的镜像可能会成为一个问题,尤其是配置了 latest 的 tag 时会直接使用本地缓存的镜像,不去拉取最新镜像。建议配置为 Always,不配置时默认就是 Always。

参考文档:https://vsupalov.com/docker-latest-tag/

错误示例:

containers: - name: nginx image: hub.baidubce.com/cce/nginx-alpine-go:latest imagePullPolicy: Never

正确示例:

containers: - name: nginx image: hub.baidubce.com/cce/nginx-alpine-go:v1 imagePullPolicy: Always

二. 应用检查

检查项 含义 影响级别
cpuRequestsMissing 没有声明 cpu resource request 值 danger
cpuLimitsMissing 没有声明 cpu resource limit 值 danger
memoryRequestsMissing 没有声明 memory resource request 值 danger
memoryLimitsMissing 没有声明 memory resource limit 值 danger
readinessProbeMissing 没有声明 readinessProbe danger
livenessProbeMissing 没有声明 livenessProbe danger

解释:

  • 为运行在 Kubernetes 中的容器配置资源请求(request)和限制(limit)是一个重要的最佳实践。设置适当的 request 将确保所有应用程序都有足够的计算资源,设置适当的 limit 将确保应用程序不会占用太多资源。
  • readinessProbe 和 livenessProbe 可以帮助维护运行在 Kubernetes 中应用程序的健康状态。默认情况下 Kubernetes 只知道进程是否正在运行,而不知道它是否正常。正确配置 readiness 和 liveness 探针还可以确保应用程序的运行状况。

参考文档:

  • https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  • https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-resource-requests-and-limits
  • https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

错误示例:

没有配置 resources、livenessProbe、readinessProbe

正确示例:

resources: # 资源限制 limits: cpu: 250m memory: 512Mi requests: cpu: 250m memory: 512Mi livenessProbe: 
# 健康检查:存活探针 httpGet: path: / port: 80 initialDelaySeconds: 20 timeoutSeconds: 
5 periodSeconds: 5 readinessProbe: # 健康检查:就绪探针 httpGet: path: / port: 80 initialDelaySeconds: 
5 timeoutSeconds: 1 periodSeconds: 5

三. 网络检查

检查项 含义 影响级别
hostNetworkSet 设置了 hostNetwork warning
hostPortSet 设置了 hostPort warning

解释:

  • hostNetworkSet: 尽管 Kubernetes 允许部署一个可以访问主机网络名称空间的 pod,但这并不是一个好的实践。在启用 hostNetwork 属性的情况下运行的 pod 将可以访问环回设备、监听本地主机的服务,并可用于窥探同一节点上其他 pod 的网络活动。一些特殊的系统组件可以将 hostNetwork 设置为 true,如 node-exporter。
  • hostPortSet: 在容器上设置 hostPort 属性将确保它可以在部署到的每个节点上的特定端口上访问。但如果指定了 hostPort 将限制在集群中调度 pod 的能力。

参考文档:https://kubernetes.io/docs/concepts/configuration/overview/#services

错误示例:

spec: hostNetwork: true containers: - name: nginx ports: - containerPort: 80 hostPort: 80

正确示例:

spec: hostNetwork: false containers: - name: nginx ports: - containerPort: 80

四. 安全检查

检查项 含义 影响级别
hostIPCSet 设置了 hostPID danger
hostPIDSet 设置了 hostPID danger
notReadOnlyRootFileSystem 没有设置文件系统为只读 warning
privilegeEscalationAllowed 允许了特权升级 danger
runAsRootAllowed 作为 root 账户执行 danger
runAsPrivileged 特权模式执行 danger
dangerousCapabilities capabilities 中有危险选项如 ALL/SYS_ADMIN/NET_ADMIN danger

解释:

在 Kubernetes 中保护工作负载是整个集群安全的一个重要部分,总体目标应该是确保容器以尽可能少的特权运行。这包括避免权限提升、不使用 root 用户运行容器以及尽可能使用只读文件系统。

参考文档:https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

错误示例:

spec: hostPID: true hostIPC: true containers: - name: nginx securityContext: capabilities: add: ["SYS_ADMIN"]

正确示例:

spec: hostPID: false hostIPC: false containers: - name: nginx

计分规则

结果评分的计算方式为:检测通过数/检测总数 * 100

示例页面:

相似文档
  • CCE 集群异常事件报警服务:当 CCE 集群中发生异常事件(如节点 NotReady)时,能够通过云上 BCM 服务 实时向用户报警。 如何使用? (1) 打开百度云 console 主页。进入 CCE 服务,目标集群详情页。 依次点击 "监控日志 => 事件中心",打开右上角 "异常事件推送至BCM" 的开关。
  • 注册百度智能云账号后,系统自动创建的超级管理员用户即为账号的主用户,默认拥有云账户的所有权限和管理所有云资源的权限。在多个人员共享资源和协作管理的场景下,为了保证账户和资源的安全,主用户可以创建子用户,实现不同子用户使用不同的用户名密码,以及拥有不同的云资源访问权限。
  • CCE 基于 IAM 策略授权,指的是百度智能云账号的主用户(或拥有系统管理员权限的子用户)通过多用户访问控制(IAM),将预定义的 CCE 系统策略或者自定义策略授予子用户/用户组,让其拥有 CCE 集群级别(集群、节点、节点组等资源)的只读/管理权限,授权将作用于 CCE 整个产品。
  • 本文介绍如何为子用户配置RBAC权限,实现对CCE集群命名空间的权限控制。 CCE集群服务已完成RBAC集群权限管理系统升级: 禁止未完成RBAC权限授予的子用户访问集群资源,请及时联系主账号完成RBAC授权,以免带来生产上的不便。 子用户将只拥有被指定授予的集群访问权限,原有的默认访问权限将被禁止。
  • 本文介绍 CCE 集群 OIDC 认证、启用说明,以及如何与 RBAC 结合使用。 认证说明: CCE 集群 OIDC 认证依赖百度云 IAM 的身份认证。支持 IAM 用户、IAM 角色认证。 CCE 集群默认仅支持基于 X509 证书的认证方式。仅新版 CCE 集群支持在创建时选择开启 OIDC 认证。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部