跳转至

采集 K8s 审计日志

  • 生成 K8s 审计日志:K8s 本身生成的审计日志,开启该功能后,会在指定目录下生成 K8s 审计日志的日志文件
  • 采集 K8s 审计日志:通过 insight-agent 采集上述 ‘K8s 审计日志’的日志文件,’采集 K8s 审计日志‘ 的前提条件是:
    • 集群生成了 ‘K8s 审计日志‘
    • 日志输出开关已打开
    • 日志采集开关已打开

DCE 5.0 安装完成时状态

  • 社区版安装管理集群过程中未操作 K8s 审计日志开关
  • 商业版管理集群的 K8s 审计日志开关默认开启
  • 管理集群的采集 K8s 审计日志开关默认关闭
    • 默认设置不支持配置

管理集群采集 K8s 审计日志开关

商业版安装环境

确认是否开启了 K8s 审计日志

执行以下命令查看 /var/log/kubernetes/audit 目录下是否有审计日志生成。 若有,则表示 K8s 审计日志成功开启。

ls /var/log/kubernetes/audit

若未开启,请参考生成 K8s 审计日志

开启采集 K8s 审计日志流程

  1. 添加 chartmuseum 到 helm repo 中

    helm repo add chartmuseum http://10.5.14.30:8081
    

    这条命令中的 IP 需要修改为火种节点的 IP 地址。

    Note

    使用自建 Harbor 仓库的情况下,请修改第一步中的 chart repo 地址为自建仓库的 insight-agent chart 地址。

  2. 保存当前 insight-agent helm value

    helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml
    
  3. 获取当前版本号 ${insight_version_code}

    insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`
    
  4. 更新 helm value 配置

    helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true
    
  5. 重启 insight-system 下的所有 fluentBit pod

    fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`
    kubectl delete pod ${fluent_pod} -n insight-system
    

关闭采集 K8s 审计日志

其余步骤和开启采集 K8s 审计日志一致,仅需修改上一节中第 4 步:更新 helm value 配置。

helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent chartmuseum/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false

社区版在线安装环境

Note

若在 Kind 集群中安装社区版 DCE5.0 社区版,需要在 Kind 容器内进行以下操作。

确认开启 K8s 审计日志

执行以下命令查看 /var/log/kubernetes/audit 目录下是否有审计日志生成,若有,则表示 K8s 审计日志成功开启。

ls /var/log/kubernetes/audit

若未开启,请参考文档的开启关闭 K8s 审计日志

开启采集 K8s 审计日志流程

  1. 保存当前 value

    helm get values insight-agent -n insight-system -o yaml > insight-agent-values-bak.yaml
    
  2. 获取当前版本号 ${insight_version_code},然后更新配置

    insight_version_code=`helm list -n insight-system |grep insight-agent | awk {'print $10'}`
    
  3. 更新 helm value 配置

    helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=true
    

    如果因为版本未找到而升级失败,请检查命令中使用的 helm repo 是否有这个版本。 若没有,请尝试更新 helm repo 后重试。

    helm repo update insight-release
    
  4. 重启 insight-system 下的所有 fluentBit pod

    fluent_pod=`kubectl get pod -n insight-system | grep insight-agent-fluent-bit | awk {'print $1'} | xargs`
    kubectl delete pod ${fluent_pod} -n insight-system
    

关闭采集 K8s 审计日志

其余步骤和开启采集 K8s 审计日志一致,仅需修改上一节中第 3 步: 更新 helm value 配置

helm upgrade --install --create-namespace --version ${insight_version_code} --cleanup-on-fail insight-agent insight-release/insight-agent -n insight-system -f insight-agent-values-bak.yaml --set global.exporters.auditLog.kubeAudit.enabled=false

工作集群开关

各工作集群开关独立,按需开启。

创建集群时打开采集审计日志步骤

采集 K8s 审计日志功能默认为关闭状态。若需要开启,可以按照如下步骤:

默认关闭

开启审计日志

将该按钮设置为启用状态,开启采集 K8s 审计日志功能。

通过 DCE 5.0 创建工作集群时,确认该集群的 K8s 审计日志选择 ‘true',这样创建出来的工作集群 K8s 审计日志是开启的。

审计日志开启

等待集群创建成功后,该工作集群的 K8s 审计日志将被采集。

接入的集群和创建完成后开关步骤

确认开启 K8s 审计日志

执行以下命令查看 /var/log/kubernetes/audit 目录下是否有审计日志生成,若有,则表示 K8s 审计日志成功开启。

ls /var/log/kubernetes/audit

若未开启,请参考文档的开启关闭 K8s 审计日志

开启采集 K8s 审计日志

采集 K8s 审计日志功能默认为关闭状态,若需要开启,可以按照如下步骤:

  1. 选中已接入并且需要开启采集 K8s 审计日志功能的集群

    选中集群

  2. 进入 helm 应用管理页面,更新 insight-agent 配置 (若未安装 insight-agent,可以安装 insight-agent

    进入 Helm 应用页面

  3. 开启/关闭采集 K8s 审计日志按钮

    开启/关闭按钮

  4. 接入集群的情况下开关后仍需要重启 fluent-bit pod 才能生效

    重启

评论