CKS认证--CKS 2021最新真题考试经验分享--练习题04

笔者最近(2021年11月下旬)参加cks考试了,因此也如约分享一下自己的考试经验和最新知识点和注意事项。由于某些原因笔者没有截到图,因此也就分析主要内容和考点思路了,相信有经验的小伙伴都可以参考 CKS认证–CKS 2021最新真题–练习题03 来检查自己还有哪些知识点不太熟练。

本文的目的:
其一是为大家提供cks的常见考点,以便于大家针对性地学习;
其二是给大家提供一个分享和交流的地方,欢迎大家把最优解留在评论区;

1 考试经验

1. 准备说明

笔者11月之前零碎的发了些时间学习k8s安全相关内容,主要是看文档+实验,11月初开始系统地发时间备考,11月最后几天参加考试了,英文+老外考官,80多分通过,基本也符合我复习力度吧。

2. 考试检查

和往常一样,提前15分钟就可以进入考试界面,考官提前几分钟就进入系统了,然后聊天做准备事宜。
出示护照证件后开始环境检查,因此需要保持桌面干净。具体包括桌面上面(鼠标垫、键盘等)+下面,屋内情况,也不让带手环。考试检查阶段最好严格按照考官的要求来操作,否则他可能一遍又一遍的重复(最终还是耽误自己的时间),有两次我没有按照他的操作来,他就重复了好几遍,差点以为他是个机器人了。
最后会检查下系统Monitoring,我就打开了个终端,然后hop了一会儿,他说ok了就关闭了。然后就考试注意事项,确认都ok了就开始考试;正式考试开始时间约9.15左右(笔者约的是上午9:00-11:00)。

3. 考试网络

笔者考试前买了个express kexue 上网V_P_N,建议有条件的都准备一下,以放报考或者网络检测不通过。
笔者实际考试的时候经常网络掉线,至少计掉了10+次,所以笔者找了考官若干次,最终从9:00 考试到了12:20,后面做完题了都没有心情检查一遍,然后就提前结束了。

网络方面,最开始使用 kexue 上网,后面发现经常掉线,所以把它关闭了,发现也能连上考试系统,但是网速依旧很慢,而且很不稳定,经常掉线。因此一个好的网络环境非常重要,至少经常掉线很影响考试心情。
如果网络断了,需要重新刷新网页,然后打开摄像头、桌面监控,再联系考官开启考试web系统,继续考试即可。考官发现考试网络流断了,会手动关闭你的考试环境,停止计时器,你恢复好了的时候他打开计时器,你就可以继续考试了。

所以考试网络异常的时候,多请考官帮忙处理下,当然也要多感谢下别人,毕竟帮忙重启10+次系统,延长近2小时监考时间也挺不容易的。

4. 考试环境

笔者特意关注了下考试系统和 k8s 版本,当前是ubuntu 1804 + k8s 1.22.2 版本。
后面该版本可能会随着 k8s 而升级,但是平时练习考试知识点一般不会受到小版本更新的影响。

2 真题分析

以下为笔者考试的知识点,和对应的解题思路,大部分和练习题03类似,因此直接推荐到练习题03了,少量有明显区别的已经单独备注出来了。

1. RuntimeClass gVisor(第1题)

CKS认证–CKS 2021最新真题–练习题03 ->13 gVisor 类似,直接拷贝官网例子,修改下名称即可

2. NetworkPolicy, 限制指定pod、ns 访问指定端口

CKS认证–CKS 2021最新真题–练习题03 ->6 网络策略 NetworkPolicy 类似

3. NetworkPolicy,dany all Ingress 和 Egress

就是官网 https://kubernetes.io/docs/concepts/services-networking/network-policies/ 中的 Default deny all ingress and all egress traffic, 更改下名称即可

4. trivy 检测镜像

通过 kubect -n xx get pod -oyaml|grep image 获取所有image
trivy image xx:versionxx|grep -iE 'High|Critical' 检查镜像是否ok
kubect -n xx delete pod xxx 删除异常pod
考试有2个镜像,4个pod,其中一个镜像异常,需要删除对应的2个pod

5. kube-bench,修复不安全项

CKS认证–CKS 2021最新真题–练习题03 ->12 kube-bench
类似, 但是 kube-bench 中api-server 的修改比练习题03 中少一点

6. clusterrole

CKS认证–CKS 2021最新真题–练习题03 ->ClusterRole 类似

7. serviceAccount

CKS认证–CKS 2021最新真题–练习题03 ->9 创建 ServiceAccount 类似

8. Dockerfile 和 Pod yaml 检测

    Dockerfile:
    去掉两处 USER root
    设置基础镜像为 ubuntu:16.04
    Pod yaml:
    注释掉 privileged 那一行的相关配置

9. secret

CKS认证–CKS 2021最新真题–练习题03 ->11创建 secret 类似

10. PodSecurityPolicy

CKS认证–CKS 2021最新真题–练习题03 ->xxx 类似

11. Container(容器)安全 , 删除包含Volumes或privileged 的pod

CKS认证–CKS 2021最新真题–练习题03 ->8 Pod 安全 类似

12. log audit (第7题)

CKS认证–CKS 2021最新真题–练习题03 ->14 审计 类似
本题分数比较多,占12%。
日志审计这一题需要自己调整的内容还是挺多的,因此要非常仔细,建议修改前备份一下原始的环境,要不然修改错了就会导致集群崩溃,笔者就把集群崩溃了两次,发了好久排查才重新拉起来了。

13. image policy(第12题)

CKS认证–CKS 2021最新真题–练习题03 ->1 镜像扫描 ImagePolicyWebhook 类似

本题分数比较多,没记错的话占10%。
这一题也有较多内容需要调整的,因此修改配置需要仔细,笔者修改完成后启动集群就挂了,检查了好几次也没有发现是哪个异常导致的,最后只能关掉配置恢复集群,导致这一题基本上没有得啥分。

14. api-server 参数调整(第14题)

CKS认证–CKS 2021最新真题–练习题03 ->16 修改 API Server 参数 类似

15. AppArmor

CKS认证–CKS 2021最新真题–练习题03 ->4 AppArmor 类似

3 注意事项

  1. 本次考试暂没有考sysdig 和 faloc, 但有可能下次调整某一题,然后就是它了,因此备考的小伙伴们要关注它。
  2. 考试中涉及集群修改的建议先备份一下相关配置,以防把集群搞崩了,因为有些题目是共用同一个集群的,搞崩了就可能几个题目无法做了。
    因此维护集群稳定非常重要,现场debug能力不太够的话,那就确保能正常复原吧。

4 说明

考试系统: ubuntu1804
考试环境:k8s 1.22.2(截至2021年11月下旬)