首页 > 其他分享 >CKS 考试题整理 (09)-日志审计 log audit

CKS 考试题整理 (09)-日志审计 log audit

时间:2023-06-16 16:15:24浏览次数:74  
标签:audit log kubernetes etc 09 yaml 日志

Task

在cluster中启用审计日志。为此,请启用日志后端,并确保:

  • 日志存储在 /var/log/kubernetes/audit-logs.txt
  • 日志文件能保留 10 天
  • 最多保留 2 个旧审计日志文件

 

/etc/kubernetes/logpolicy/sample-policy.yaml 提供了基本策略。它仅指定不记录的内容。

注意:基本策略位于cluster的master节点上。

 

编辑和扩展基本策略以记录:

  • RequestResponse 级别的 persistentvolumes 更改
  • namespace front-apps中 configmaps 更改的请求体
  • Metadata 级别的所有 namespace 中的 ConfigMap 和 Secret 的更改

此外,添加一个全方位的规则以在 Metadata 级别记录所有其他请求。

注意:不要忘记应用修改后的策略。

 

参考资料

https://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/audit/

 

 

解答
先切换集群
kubectl config use-context KSCH00601

1切换到 Master
ssh master01 && sudo -i

 

2配置审计策略
mkdir bak07
cp /etc/kubernetes/logpolicy/sample-policy.yaml bak07/
vim /etc/kubernetes/logpolicy/sample-policy.yaml
......
- level: RequestResponse
resources:
- group: ""
resources: ["persistentvolumes"]
- level: Request
resources:
- group: ""
resources: ["configmaps"]
resourceNames: ["front-apps"]
- level: Metadata
resources:
- group: "" # core API 组
resources: ["secrets", "configmaps"]
- level: Metadata
omitStages:
- "RequestReceived"

 


3配置 master 节点 kube-apiserver.yaml
首先备份配置文件
cp /etc/kubernetes/manifests/kube-apiserver.yaml bak07/

 

添加一下参数:
# 审计策略 yaml 文件位置,通过 hostpath 挂载
--audit-policy-file=/etc/kubernetes/logpolicy/sample-policy.yaml # 如果考试中已存在,修改即可
# 审计日志位置,通过 hostpath 挂载
--audit-log-path=/var/log/kubernetes/audit-logs.txt # 如果考试中已存在,修改即可
# 保留审计日志文件的最大天数为10天
--audit-log-maxage=10 # 如果考试中已存在,修改即可
# 保留的审计日志文件的最大数量为2个
--audit-log-maxbackup=2 # 如果考试中已存在,修改即可

 

接下来挂载数据卷,在volumeMounts 下面新增:
volumeMounts:
- mountPath: /etc/kubernetes/logpolicy/sample-policy.yaml
name: audit
readOnly: true
- mountPath: /var/log/kubernetes/
name: audit-log
readOnly: false

 

最后配置 hostPath,在volumes 下新增:
volumes:
- name: audit
hostPath:
path: /etc/kubernetes/logpolicy/sample-policy.yaml
type: File

- name: audit-log
hostPath:
path: /var/log/kubernetes/
type: DirectoryOrCreate

4重启kubelet 服务
systemctl restart kubelet
大概等待2分钟左右,查看服务是否正常,日志是否有输出
kubectl get po -A
tail -f /var/log/kubernetes/audit-logs.txt

 


 

标签:audit,log,kubernetes,etc,09,yaml,日志
From: https://www.cnblogs.com/dagongzhe/p/17485789.html

相关文章

  • SummerResearch_Log_20230613
    WorkingContent:1.上次的问题得到解决:(1)数据集就是8个文件夹,代表八个类别(忽略注释说的四个类),databloader会为他们分配labels。(2)incrementallearning和backdoor结合是将干净的数据集和被污染的数据集两个任务分别训练。2.基于TyXe的VCL方法终于跑通了,下面是在mnist和cifar数......
  • Verilog语法 - 阻塞赋值 & 非阻塞赋值
    参考https://zhuanlan.zhihu.com/p/720344011.非阻塞赋值代码如下always@(posedgeclk)beginb<=a;c<=b;endRTL会综合出两个寄存器串行,如下波形图所示,第一个时钟上升沿来临时,会把a的旧值赋值给b;同时,c获得的是b的旧值,而不是从a那里拿到的新值。非阻......
  • log4j.xml示例
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationSYSTEM"log4j.dtd"><log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/"debug="false"><ap......
  • log4xx/log4j异步日志配置示例
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationSYSTEM"log4j.dtd"><log4j:configurationxmlns:log4j='http://jakarta.apache.org/log4j/'debug="false"><append......
  • 多进程log4cxx区分日志
    多进程log4cxx区分日志(金庆的专栏)网游客户端一般会多开,多个进程会写同一个日志文件。log4cxx看来会对文件加锁,防止多进程写同一文件写乱,截止目前还没发现错乱的日志。log4cxx有个MDC(MappedDiagnosticContext)功能,可以区分不同进程的日志。在日志格式中插入帐号名,就可以区分不同......
  • 解决log4cxx退出时的异常
    解决log4cxx退出时的异常(金庆的专栏)如果使用log4cxx的FileWatchdog线程来监视日志配置文件进行动态配置,就可能碰到程序退出时产生的异常。程序退出时清理工作耗时很长时,该异常很容易出现。原因是main()之后FileWatchdog线程试图checkAndConfigure()检......
  • 记录下闪回工具binlog2sql使用
    1查看系统[root@10-0-0-244~]#cat/etc/centos-releaseRockyLinuxrelease8.7(GreenObsidian)2下载MySQL2.1更新下版本[root@10-0-0-244~]#dnfupdateFailedtosetlocale,defaultingtoC.UTF-8Lastmetadataexpirationcheck:2:01:36agoonWedJun1403:59:26......
  • 自建log4cxx.sln
    log4cxx的下载包是0.10版本的,代码较旧,有些错误,应该从主干下载最新的代码. 0.10的下载包中有projects目录,内有VC6的工程文件;还有site目录,内有vc构建的帮助文档vstudio.html.VC构建步骤如下:unzipapr-1.2.11-win32-src.ziprenameapr-1.2.11aprunzipapr-util-1.2.10-win32-src.z......
  • 02项目数据库隐藏密码,封装logger,环境变量的设置,封装全局异常,Response,开启media访问,前
    1项目数据库之隐藏密码#我们直接把mysql的用户名和密码写死在了代码中----》后期可能会存在风险----》代码如果泄露----》mysql的用户密码泄露----》可以远程登录----》脱裤(拖库)----》所有数据会被黑客获取到----》卖钱#华住---》在代码中把数据库用户名和密码写死了----》......
  • LOG("my log is", K(val1), K(val2));
    旧时代假设有val1,val2两个值,希望打印出来。直接的做法是:PRINTF(“mylogisval1=%d,val2=%d”,val1,val2);这个代码的缺陷是:val1、val2要重复写两次,若变量更改,需要写两次。如果val1、val2是字符串类型,则格式化方式要改变如果val1、val2是对象类型,则无法直接用PRINTF,需要......