

官网搜索:runtime class 找到:容器运行时类(Runtime Class)
apiVersion: node.k8s.io/v1 # RuntimeClass 定义于 node.k8s.io API 组
kind: RuntimeClass
metadata:
name: untrusted # 用来引用 RuntimeClass 的名字
# RuntimeClass 是一个集群层面的资源
handler: runsc # 对应的 CRI 配置的名称
kubectl create -f gvisorRuntimeClass.yaml
kubectl get po nginx -n client -oyaml > nginx.yaml
# cat nginx.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: nginx
name: nginx
namespace: client
spec:
runtimeClassName: untrusted #需要添加部分
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
resources: {}
kubectl delete -f nginx.yaml ; kubectl create -f nginx.yaml
需要修改的 Pod 并非直接创建,而是通过 Deployment 创建,所以在指
定的 runtimeClass 的时候,更改的位置和 Pod 不太一样。
# kubectl edit deploy workload1 -n client
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: workload1
name: workload1
namespace: client
spec:
replicas: 1
selector:
matchLabels:
app: workload1
template:
metadata:
labels:
app: workload1
spec:
runtimeClassName: untrusted # 注意更改的位置和 containers 对齐
containers:
- env:
- name: TZ
value: Asia/Shanghai
- name: LANG
value: C.UTF-8
image: nginx
name: nginx