mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Add docs for Kubernetes Runtime Class. (#33)
Adds doc to explicitly create the Kubernetes RuntimeClass object needed to use the shim via the Kubernetes API.
This commit is contained in:
committed by
Fabricio Voznika
parent
1547f24519
commit
757adfa287
@@ -13,8 +13,8 @@ gvisor-containerd-shim is a containerd shim for [gVisor](https://github.com/goog
|
||||
## Installation
|
||||
|
||||
- [Untrusted Workload Quick Start (containerd >=1.1)](docs/untrusted-workload-quickstart.md)
|
||||
- [Runtime Handler Quick Start (containerd >=1.2)](docs/runtime-handler-quickstart.md)
|
||||
- [Runtime Handler Quick Start (shim v2) (containerd >=1.2)](docs/runtime-handler-shim-v2-quickstart.md)
|
||||
- [Runtime Handler/RuntimeClass Quick Start (containerd >=1.2)](docs/runtime-handler-quickstart.md)
|
||||
- [Runtime Handler/RuntimeClass Quick Start (shim v2) (containerd >=1.2)](docs/runtime-handler-shim-v2-quickstart.md)
|
||||
|
||||
# Contributing
|
||||
|
||||
|
||||
@@ -204,3 +204,48 @@ sudo crictl inspect ${CONTAINER_ID}
|
||||
sudo crictl exec ${CONTAINER_ID} dmesg | grep -i gvisor
|
||||
}
|
||||
```
|
||||
|
||||
### Set up the Kubernetes Runtime Class
|
||||
|
||||
1. Install the Runtime Class for gVisor
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 1/ /^}/)
|
||||
```shell
|
||||
{ # Step 1: Install a RuntimeClass
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: node.k8s.io/v1beta1
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
name: gvisor
|
||||
handler: runsc
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
||||
2. Create a Pod with the gVisor Runtime Class
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 2/ /^}/)
|
||||
```shell
|
||||
{ # Step 2: Create a pod
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: nginx-gvisor
|
||||
spec:
|
||||
runtimeClassName: gvisor
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
||||
3. Verify that the Pod is running
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 3/ /^}/)
|
||||
```shell
|
||||
{ # Step 3: Get the pod
|
||||
kubectl get pod nginx-gvisor -o wide
|
||||
}
|
||||
```
|
||||
|
||||
@@ -185,3 +185,48 @@ sudo crictl inspect ${CONTAINER_ID}
|
||||
sudo crictl exec ${CONTAINER_ID} dmesg | grep -i gvisor
|
||||
}
|
||||
```
|
||||
|
||||
### Set up the Kubernetes Runtime Class
|
||||
|
||||
1. Install the Runtime Class for gVisor
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 1/ /^}/)
|
||||
```shell
|
||||
{ # Step 1: Install a RuntimeClass
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: node.k8s.io/v1beta1
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
name: gvisor
|
||||
handler: runsc
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
||||
2. Create a Pod with the gVisor Runtime Class
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 2/ /^}/)
|
||||
```shell
|
||||
{ # Step 2: Create a pod
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: nginx-gvisor
|
||||
spec:
|
||||
runtimeClassName: gvisor
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
||||
3. Verify that the Pod is running
|
||||
|
||||
[embedmd]:# (../test/e2e/runtimeclass-install.sh shell /{ # Step 3/ /^}/)
|
||||
```shell
|
||||
{ # Step 3: Get the pod
|
||||
kubectl get pod nginx-gvisor -o wide
|
||||
}
|
||||
```
|
||||
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
# A sample script to test installing a RuntimeClass
|
||||
|
||||
set -ex
|
||||
|
||||
{ # Step 1: Install a RuntimeClass
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: node.k8s.io/v1beta1
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
name: gvisor
|
||||
handler: runsc
|
||||
EOF
|
||||
}
|
||||
|
||||
{ # Step 2: Create a pod
|
||||
cat <<EOF | kubectl apply -f -
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: nginx-gvisor
|
||||
spec:
|
||||
runtimeClassName: gvisor
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx
|
||||
EOF
|
||||
}
|
||||
|
||||
{ # Step 3: Get the pod
|
||||
kubectl get pod nginx-gvisor -o wide
|
||||
}
|
||||
Reference in New Issue
Block a user