gVisor pod fail to create pod sandbox
Hello, I've followed the container-setup.txt to set up the environment**
student@cp:~/s03$ cat /etc/crictl.yaml
runtime-endpoint: "unix:///run/containerd/containerd.sock"
image-endpoint: "unix:///run/containerd/containerd.sock"
timeout: 0
debug: false
pull-image-on-create: false
disable-pull-on-run: false
student@cp:~/s03$ cat /etc/containerd/config.toml
version = 2
[plugins."io.containerd.runtime.v1.linux"]
shim_debug = true
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
runtime_type = "io.containerd.runsc.v1"
And I use the yaml files to create runtimeclass and gvisor pod, but the pod is stuck in "ContainerCreating" Warning FailedCreatePodSandBox 43s (x71 over 15m) kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox runtime: no runtime for "runsc" is configured
I wonder if my environment is correctly set up or it's a bugstudent@cp:~/s03$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
└─10-kubeadm.conf
Active: active (running) since Mon 2024-01-15 12:38:45 UTC; 1 day 23h ago
Docs: https://kubernetes.io/docs/home/
Main PID: 4998 (kubelet)
Tasks: 12 (limit: 9511)
Memory: 57.3M
CGroup: /system.slice/kubelet.service
└─4998 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubele>
Jan 17 11:34:43 cp kubelet[4998]: W0117 11:34:43.150934 4998 logging.go:59] [core] [Channel #4 SubChannel #5] grpc: addrConn.create>
Jan 17 11:34:43 cp kubelet[4998]: "Addr": "/var/run/containerd/containerd.sock",
Jan 17 11:34:43 cp kubelet[4998]: "ServerName": "/var/run/containerd/containerd.sock",
Jan 17 11:34:43 cp kubelet[4998]: "Attributes": null,
Jan 17 11:34:43 cp kubelet[4998]: "BalancerAttributes": null,
Jan 17 11:34:43 cp kubelet[4998]: "Type": 0,
Jan 17 11:34:43 cp kubelet[4998]: "Metadata": null
Jan 17 11:34:43 cp kubelet[4998]: }. Err: connection error: desc = "transport: Error while dialing: dial unix /var/run/containerd/cont>
Jan 17 11:34:43 cp kubelet[4998]: E0117 11:34:43.167792 4998 remote_image.go:232] "ImageFsInfo from image service failed" err="rpc >
Jan 17 11:34:43 cp kubelet[4998]: E0117 11:34:43.167898 4998 eviction_manager.go:258] "Eviction manager: failed to get summary stat>
Comments
-
I also have the same problem
0 -
I found out a solution, although I'm using a preexisting cluster so maybe these instructions aren't valid for everyone:
- Install gvisor following the "Install latest release" instructions in each worker node:
https://gvisor.dev/docs/user_guide/install/
- Configure containerd following the instructions under "Configure containerd", including the restart of the containerd service:
https://gvisor.dev/docs/user_guide/containerd/quick_start/
- Then create the runtimeclass with this command:
cat <<EOF | kubectl apply -f -
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
name: gvisor
handler: runsc
EOF- And create a pod that uses that runtimeclass:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
name: nginx-gvisor
spec:
runtimeClassName: gvisor
containers:
- name: nginx
image: nginx
EOFIn my case, the problem that I had is that I forgot to add the following lines to the file and then to restart containerd service:
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
runtime_type = "io.containerd.runsc.v1"1
Categories
- All Categories
- 178 LFX Mentorship
- 178 LFX Mentorship: Linux Kernel
- 775 Linux Foundation IT Professional Programs
- 384 Cloud Engineer IT Professional Program
- 175 Advanced Cloud Engineer IT Professional Program
- 75 DevOps IT Professional Program - Discontinued
- 7 DevOps & GitOps IT Professional Program
- 103 Cloud Native Developer IT Professional Program
- 7.7K Training Courses & Learning Paths
- 13 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 35 Cloud & Containers Training
- 3 Cybersecurity Training
- 3 DevOps & Site-Reliability Training
- 2 Linux Kernel Development Training
- 2 Networking Training
- 2 Open Source Best Practice Training
- 5 System Administration Training
- 1 System Engineering Training
- 6 Web & Application Development Training
- 798 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 96 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 92 Storage
- 773 Linux Distributions
- 81 Debian
- 68 Fedora
- 24 Linux Mint
- 13 Mageia
- 24 openSUSE
- 151 Red Hat Enterprise
- 32 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 472 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 103 Linux Security
- 79 Network Management
- 102 System Management
- 46 Web Management
- 166 Mobile Computing
- 32 Android
- 119 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 407 Off Topic
- 128 Introductions
- 35 Study Material
- 1.1K Programming and Development
- 311 Kernel Development
- 723 Software Development
- 1K Software
- 418 Applications
- 183 Command Line
- 5 Compiling/Installing
- 71 Games
- 320 Installation
- Archived
- 183 Small Talk
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)