Context
该 cluster使用 containerd作为CRI运行时。containerd的默认运行时处理程序是runc。
containerd已准备好支持额外的运行时处理程序runsc (gVisor)。
Task
使用名为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
- 创建 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
- 将命名空间为 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
标签:11,kubectl,RuntimeClass,server,gVisor,deployment,沙箱,运行 From: https://www.cnblogs.com/dagongzhe/p/17485821.html