Skip to content
This repository was archived by the owner on Jun 20, 2024. It is now read-only.

Commit 6d7a29a

Browse files
authored
Merge pull request #3946 from rajch/master
Update docs to include issue with containerd versions <1.6.5
2 parents e371215 + 1686ded commit 6d7a29a

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

site/kubernetes/kube-addon.md

+44
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ The following topics are discussed:
1919
* [Reading the logs](#logs)
2020
* [Troubleshooting Blocked Connections](#blocked-connections)
2121
* [Things to watch out for](#key-points)
22+
* [Troubleshooting FailedCreatePodSandBox errors](#failedcreatepodsandbox)
2223
* [Changing Configuration Options](#configuration-options)
2324
* [Securing The Setup](#securing-the-setup)
2425

@@ -370,6 +371,49 @@ UDP connection from 10.32.0.7:56648 to 10.32.0.11:80 blocked by Weave NPC.
370371
- Weave Net can be run on minikube v0.28 or later with the default CNI config shipped with minikube
371372
being disabled. See [#3124](https://github.com/weaveworks/weave/issues/3124#issuecomment-397820940)
372373
for more details.
374+
- Weave Net has a problem with containerd versions 1.6.0 through 1.6.4. See [Troubleshooting FailedCreatePodSandBox errors](#failedcreatepodsandbox) below.
375+
376+
### <a name="failedcreatepodsandbox"></a> Troubleshooting FailedCreatePodSandBox errors
377+
378+
If your Kubernetes cluster uses the `containerd` runtime (versions 1.6.0 through 1.6.4), Weave Net will not be able to allocate IP addresses to pods. Your pods, except the ones that use HostNetworking, will be stuck at `ContainerCreating` status.
379+
380+
You can examine any pod so affected by running `kubectl describe`, for example:
381+
382+
```
383+
$ kubectl describe pod -n kube-system coredns-78fcd69978-dbxs9
384+
```
385+
386+
The events section will show repeated errors like the following:
387+
388+
```
389+
Warning FailedCreatePodSandBox 3m6s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "09a23f79c96333b9f54e12df54e817837c8021cbaa32bdfeefbe2a1fb215d9ef": plugin type="weave-net" name="weave" failed (add): unable to allocate IP address: Post "http://127.0.0.1:6784/ip/09a23f79c96333b9f54e12df54e817837c8021cbaa32bdfeefbe2a1fb215d9ef": dial tcp 127.0.0.1:6784: connect: connection refused
390+
```
391+
392+
You can verify that you are running an affected version of containerd by using the following:
393+
394+
```
395+
$ kubectl get nodes -o wide
396+
397+
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
398+
host-1 Ready control-plane,master 13m v1.22.10 172.21.107.129 <none> Debian GNU/Linux 11 (bullseye) 5.10.0-14-amd64 containerd://1.6.4
399+
```
400+
401+
The last column shows the container runtime and version.
402+
403+
Alternatively, you can run:
404+
405+
```
406+
$ containerd -v
407+
containerd containerd.io 1.6.4 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
408+
```
409+
410+
The problem can be solved by upgrading containerd to v1.6.5 or above. For example, on Debian Linux, using the docker official repositories, you can use:
411+
412+
```
413+
sudo apt install containerd.io=1.6.6-1
414+
```
415+
416+
The problem occurs because of a behaviour change in cni v1.1.0, which caused a regression issue in Weave. It was corrected in cni v1.1.1. Containerd 1.6.5 onwards uses cni 1.1.1 and above.
373417
374418
## <a name="configuration-options"></a> Changing Configuration Options
375419

0 commit comments

Comments
 (0)