---
# System prepended metadata

title: 第十题 Image Security
tags: [真题讲解]

---

# 第十题 Image Security
###### tags: `真题讲解`

切换集群kubectl config use-context k8s

**Task**
Use the Trivy open-source container scanner to detect images with severe vulnerabilities used by Pods in the namespace **yavin**.

Look for images with **High** or **Critical** severity vulnerabilities,and delete the Pods that use those images.

Trivy is pre-installed on the cluster's master node only; it is not available on the base system or the worker nodes. You'll have to connect to the cluster's master node to use Trivy.

## 解法

根据题意登录到Master Node, 先查询出ns yavin中所有Pod所用的镜像
```
kubectl get pod -n yavin
// 罗列出所有Pod

kubectl get -n yavin pod products-service -oyaml |grep -i "image"
// 逐个查询出Pod所用的Image
```

根据题意, 使用Trivy扫描上一步的出来的镜像名称, 用grep来过滤, 只要出现结果就说明镜像不满足要求.
```
root@ubuk8s-vm01:~# trivy rock981119/net-tools:v2 |grep -iE "High | Critical"

Total: 108 (UNKNOWN: 0, LOW: 39, MEDIUM: 64, HIGH: 5, CRITICAL: 0)
| libgnutls30      | CVE-2020-13777   | HIGH     | 3.6.13-2ubuntu1        | 3.6.13-2ubuntu1.1            | gnutls: session resumption works        |
| libssl1.1        | CVE-2020-1971    | HIGH     | 1.1.1f-1ubuntu2        | 1.1.1f-1ubuntu2.1            | openssl: EDIPARTYNAME                   |
| openssl          | CVE-2020-1971    | HIGH     | 1.1.1f-1ubuntu2        | 1.1.1f-1ubuntu2.1            | openssl: EDIPARTYNAME                   |
```

**Tips**:
注意读题, 实际考试中每个Pod可能都是来自一个Deployment的, 如果要删除Pod则要删除Deployment, 或编辑Deployment将其replica将为0.