k8s学习-CKS真题-Trivy扫描镜像安全漏洞


对应b站视频: CKS题目-Trivy扫描镜像漏洞

题目

Task
使用 Trivy 开源容器扫描器检测 namespace kamino 中 Pod 使用的具有严重漏洞的镜像。
查找具有 High 或 Critical 严重性漏洞的镜像,并删除使用这些镜像的 Pod。
注意:Trivy 仅安装在 cluster 的 master 节点上,在工作节点上不可使用。
你必须切换到 cluster 的 master 节点才能使用 Trivy。

环境搭建

下载trivy

https://github.com/aquasecurity/trivy/releases/tag/v0.34.0

安装
读者根据自己的操作系统版本安装即可,这里博主是centos7。
命令

rpm -ivh trivy_0.34.0_Linux-64bit.rpm

截图
在这里插入图片描述
创建命名空间和pod
命令

kubectl create ns kamino
kubectl run nginx --image=nginx -n kamino
kubectl run alpine --image=alpine:3.14 -n kamino

截图
在这里插入图片描述

解题

获取所有镜像
命令

kubectl get po -n kamino -o yaml | grep image:

截图
在这里插入图片描述
第一需要下载库(考试时不需要)
命令

trivy image -s "HIGH,CRITICAL" alphine:3.14

截图
在这里插入图片描述
之后添加–skip-update参数即可
命令

trivy image --skip-update -s "HIGH,CRITICAL" nginx:latest

结果
在这里插入图片描述
一个个镜像手动扫描也不方便,问了下ChatGPT,搞成了一条命令。
在这里插入图片描述

kubectl get pods -n kamino -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.containers[*]}{.image}{"\n"}{end}{end}' | tr ' ' '\n' | sort -u | xargs -I {} trivy --skip-update --severity "HIGH,CRITICAL" {} | tee res.txt

删除pod命令

kubectl delete po xxx -n kamino

b站视频中使用的命令

kubectl get po -n applications -o yaml | grep '\- image'
{ for i in nginx:1.19.1-alpine-perl nginx:1.19.1-alpine-perl nginx:1.20.2-alpine; do trivy image -s HIGH,CRITICAL $i > $i.txt; done }
kubectl scale deploy web1 -n applications -o yaml

模拟题

在这里插入图片描述

参考

github-trivy
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值