CKS 考试题整理 (11)-沙箱运行容器gVisor
阅读原文时间:2023年08月11日阅读:4

该 cluster使用 containerd作为CRI运行时。containerd的默认运行时处理程序是runc。

containerd已准备好支持额外的运行时处理程序runsc (gVisor)。

使用名为runsc的现有运行时处理程序,创建一个名为untrusted 的RuntimeClass。

更新 namespace server中的所有Pod以在gVisor上运行。

您可以在 /cks/gVisor/rc.yaml中找到一个模版清单

https://kubernetes.io/zh-cn/docs/concepts/containers/runtime-class/

切换集群

kubectl config use-context KSMV00301

  1. 创建 RuntimeClass

vim /cks/gVisor/rc.yaml

修改或添加如下内容

apiVersion: node.k8s.io/v1 # 检测是否正确,如果不正确需要修改

kind: RuntimeClass

metadata:

name: untrusted # 用来引用 RuntimeClass 的名字,RuntimeClass 是一个集群层面的资源

handler: runsc # 对应的 CRI 配置的名称

创建

kubectl apply -f /cks/gVisor/rc.yaml

检查

kubectl get RuntimeClass

  1. 将命名空间为 server 下的 Pod 引用 RuntimeClass。

考试时,3个Deployment 下有3个Pod,修改3个deployment 即可。

kubectl -n server get deployment

编辑 deployment

kubectl edit -n server deployment/busybox-run

修改如下内容

spec: # 注意找到有containers 字段的spec

runtimeClassName: untrusted # 添加这一行

containers:

  • image: nginx:1.9

imagePullPolicy: ifNotPresent

name: run-test