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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 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学习-思维导图与学习笔记

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
6天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
1月前
|
Kubernetes 网络虚拟化 Docker
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
文章提供了一个解决方案,用于在无法直接访问Google镜像仓库的情况下,通过使用阿里云镜像来下载kubeadm所需的Kubernetes镜像。
77 3
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
|
2月前
|
Kubernetes Docker Perl
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
|
2月前
|
Kubernetes 持续交付 容器
在K8S中,镜像的拉取策略有哪些?
在K8S中,镜像的拉取策略有哪些?
|
2月前
|
Kubernetes 容器 Perl
在k8S中,镜像的下载策略有哪些?
在k8S中,镜像的下载策略有哪些?
|
2月前
|
Kubernetes 容器 Perl
在K8S中,镜像的更新策略是什么?
在K8S中,镜像的更新策略是什么?
|
3月前
|
Kubernetes 算法框架/工具 Docker
k8s拉取harbor仓库镜像
k8s拉取harbor仓库镜像
135 5
|
2月前
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如何下载harbor的私有项目镜像?
在K8S中,如何下载harbor的私有项目镜像?
|
2月前
|
缓存 Kubernetes 测试技术
在k8S中,镜像下载策略有哪些?
在k8S中,镜像下载策略有哪些?
|
2月前
|
Kubernetes 容器 Perl
在K8S中,镜像拉取策略有哪些?
在K8S中,镜像拉取策略有哪些?
下一篇
无影云桌面