上云无忧 > 文档中心 > 腾讯云容器服务 TKE 注册集群 - 集群审计
容器服务 TKE
腾讯云容器服务 TKE 注册集群 - 集群审计

文档简介:
本文主要介绍如何将注册集群的审计日志接入到 腾讯云日志服务 CLS。 简介: 集群审计是基于 Kubernetes Audit 对 kube-apiserver 产生的可配置策略的 JSON 结构日志的记录存储及检索功能。本功能记录了对 kube-apiserver 的访问事件,会按顺序记录每个用户、管理员或系统组件影响集群的活动。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
本文主要介绍如何将注册集群的审计日志接入到 腾讯云日志服务 CLS

简介

集群审计是基于 Kubernetes Audit 对 kube-apiserver 产生的可配置策略的 JSON 结构日志的记录存储及检索功能。本功能记录了对 kube-apiserver 的访问事件,会按顺序记录每个用户、管理员或系统组件影响集群的活动。

使用须知

已经 创建注册集群,且注册集群的状态为运行中。
目前注册集群的审计日志仅支持投递至 腾讯云日志服务 CLS,暂不支持其他日志消费端。
注册集群开启审计功能,需要用户自行登录集群的 Master 节点配置相关审计策略和 API Server 相关参数。
开启集群审计功能,默认会同步开启集群日志采集功能。
若使用集群审计功能,请确认 Kubernetes 集群内节点能够访问日志消费端。这里我们提供公网和内网两种方式进行日志投递,用户可以根据业务情况自行选择:
公网投递:集群审计日志将通过公网的方式进行投递至日志服务 CLS ,需要集群中的节点具有访问公网的能力。
内网投递:集群审计日志将通过内网的方式进行投递至日志服务 CLS ,需要集群内的节点与腾讯云日志服务 CLS 内网互通。选择该选项前,请 联系我们 进行确认。

使用步骤

在集群 Master 节点上配置审计策略

依次登录集群的所有 Master 节点,配置审计策略文件/etc/kubernetes/audit-policy.yaml。您可以根据业务的实际情况,按需修改。
		
apiVersion: audit.k8s.io/v1beta1
kind: Policy
omitStages:
- "RequestReceived"
rules:
- level: None
users: ["system:kube-proxy"]
verbs: ["watch"]
resources:
- group: ""
resources: ["endpoints", "services"]
- level: None
users: ["system:unsecured"]
namespaces: ["kube-system"]
verbs: ["get"]
resources:
- group: ""
resources: ["configmaps"]
- level: None
users: ["kubelet"]
verbs: ["get"]
resources:
- group: ""
resources: ["nodes"]
- level: None
userGroups: ["system:nodes"]
verbs: ["get"]
resources:
- group: ""
resources: ["nodes"]
- level: None
users:
- system:kube-controller-manager
- system:kube-scheduler
- system:serviceaccount:kube-system:endpoint-controller
verbs: ["get", "update"]
namespaces: ["kube-system"]
resources:
- group: ""
resources: ["endpoints"]
- level: None
users: ["system:apiserver"]
verbs: ["get"]
resources:
- group: ""
resources: ["namespaces"]
- level: None
nonResourceURLs:
- /healthz*
- /version
- /swagger*
- level: None
resources:
- group: ""
resources: ["events"]
- level: Metadata
resources:
- group: "" # core
resources: ["secrets", "configmaps"]
- group: authentication.k8s.io
resources: ["tokenreviews"]
- level: Request
verbs: ["get", "list", "watch"]
resources:
- group: ""
- group: "admissionregistration.k8s.io"
- group: "apps"
- group: "authentication.k8s.io"
- group: "authorization.k8s.io"
- group: "autoscaling"
- group: "batch"
- group: "certificates.k8s.io"
- group: "extensions"
- group: "networking.k8s.io"
- group: "policy"
- group: "rbac.authorization.k8s.io"
- group: "settings.k8s.io"
- group: "storage.k8s.io"
- level: RequestResponse
resources:
- group: ""
- group: "admissionregistration.k8s.io"
- group: "apps"
- group: "authentication.k8s.io"
- group: "authorization.k8s.io"
- group: "autoscaling"
- group: "batch"
- group: "certificates.k8s.io"
- group: "extensions"
- group: "networking.k8s.io"
- group: "policy"
- group: "rbac.authorization.k8s.io"
- group: "settings.k8s.io"
- group: "storage.k8s.io"
- level: Metadata

在 Master 节点上配置 API Server 参数

依次登录集群所有的 Master 节点,修改/etc/kubernetes/manifests/kube-apiserver.yaml文件。
1. 添加相关 command 参数,内容如下:
		
spec:
containers:
- command:
- kube-apiserver
- --audit-log-maxbackup=10
- --audit-log-maxsize=100
- --audit-log-path=/var/log/kubernetes/kubernetes.audit
- --audit-log-maxage=30
- --audit-policy-file=/etc/kubernetes/audit-policy.yaml
2. 添加相关的 Volume 参数,将 /etc/kubernetes/audit-policy.yaml 挂载到 API Server Pod,内容如下:
		
spec:
containers:
- command:
- kube-apiserver
- --audit-log-maxbackup=10
- --audit-log-maxsize=100
- --audit-log-path=/var/log/kubernetes/kubernetes.audit
- --audit-log-maxage=30
- --audit-policy-file=/etc/kubernetes/audit-policy.yaml
...
...
volumeMounts:
- mountPath: /var/log/kubernetes
name: k8s-audit
- mountPath: /etc/kubernetes/audit-policy.yaml
name: audit-policy
readOnly: true
...
...
volumes:
- hostPath:
path: /var/log/kubernetes
type: DirectoryOrCreate
name: k8s-audit
- hostPath:
path: /etc/kubernetes/audit-policy.yaml
type: FileOrCreate
name: audit-policy
...

开启集群审计

1. 登录 腾讯云容器服务控制台,选择左侧导航中的运维功能管理
2. 在“功能管理”页面上方选择地域和注册集群,单击希望开启集群审计的集群右侧的设置。如下图所示:

3. 在弹出的“设置功能”窗口,单击“集群审计”功能右侧的编辑

4. 勾选开启集群审计,选择投递方式和存储审计日志的日志集、日志主题,推荐选择自动创建日志主题

5. 单击确定即可开启注册集群审计功能。

审计仪表盘

容器服务为用户提供了开箱即用的审计仪表盘。在集群开启集群审计功能后,TKE 将自动为该集群配置审计总览、节点操作总览、K8S 对象操作概览、聚合检索仪表盘。还支持用户自定义配置过滤项,同时内置 CLS 的全局检索,方便用户观测和检索各类集群操作,以便于及时发现和定位问题。更多详细介绍,请参考 审计仪表盘
相似文档
  • 本文主要介绍如何将注册集群的事件信息接入到 腾讯云日志服务 CLS。 操作场景: Kubernetes Events 包括了 Kuberntes 集群的运行和各类资源的调度情况,对维护人员日常观察资源的变更以及定位问题均有帮助。容器服务支持为您的注册集群配置事件持久化功能,开启本功能后,会将您的集群事件实时导出到配置的存储端。还支持使用腾讯云提供的 PAAS 服务或开源软件对事件流水进行检索。
  • 操作场景: 本文主要介绍如何创建、编辑容器实例、查看事件及日志等。 如果您是首次使用容器实例,推荐您通过我们提供的快速入门进行创建,可参考 快速创建一个容器实例。 如果您需要使用多容器组、日志采集等高阶能力,可参考 创建容器实例。
  • 本文主要介绍容器实例从创建到删除,其中所经历的各类状态及该实例是否处于计费状态。您可根据实例及容器状态判断目前业务是否按照正常逻辑运行。
  • 操作场景: 您可以通过容器实例控制台连接 EKSCI 中的容器,执行命令登录容器。 操作步骤: 1. 登录容器实例控制台。 2. 在容器实例列表页中,单击需要连接的实例名称。 3. 在容器实例详情页中,单击“容器管理”进行查看。
  • 操作场景: 当您的容器实例 EKSCI 需要连接公网时,例如部署 Nginx 服务、拉取私有镜像等,则需要为容器实例绑定弹性公网 IP 或者配置 NAT 网关,并需要支付额外的网络费用。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部