k8s报错合集

发布时间 2023-12-16 16:25:42作者: YYQ-

底层网络沙箱容器pause无法下载报错

#如出现报错,是因为底层沙箱容器pause无法下载导致出现的问题
Events:
  Type     Reason                  Age                     From           Message
  ----     ------                  ----                    ----           -------
  Warning  FailedCreatePodSandBox  2m51s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "3d1bfa6d85d4f6f8564afeabb38dbcd98fd747843e6baff8a3ddd8e09d16c519" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m50s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "a95717455f40fc6ca915da95a30c68403aa9d79d6091d41d8aba4207ae0c082a" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m49s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "ee9bacea2ded971659178d6b571141591e6b16afd2ba287d343813b0a01bd0c2" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m48s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "205c9fea36af5c48db74fe8c225604fea0419eec06a2d129bec67c0fa2073883" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m47s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "74e067c04f2f0b37ee6c2fc805cdb98dbd0b1113d39a507dc98cfe6c128f2683" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m46s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "32b368d478f645836d913e7a18e1e76de61864ae9e816e6eb54f527a19859e24" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m45s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "8061bf7c355c2156b681310cb3b661d67732dbc56d7a786d7eeb752d1542ae99" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m43s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "5e59dd8a3def744bb49bb8c9f8733438f10c53d185dc3c2841ee795bc92e8fa9" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  FailedCreatePodSandBox  2m42s                   kubelet        Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "96d47ca1517051bdf48655eb2c7c5739b376be7e7251ee8546840c874ef4a7b4" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Normal   SandboxChanged          2m39s (x12 over 2m50s)  kubelet        Pod sandbox changed, it will be killed and re-created.
  Warning  FailedCreatePodSandBox  2m38s (x4 over 2m41s)   kubelet        (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "fb9d0c03fed84d94d69a86f2fd2776658966e6f81abe91ac46089cfb0bf776a6" network for pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d": networkPlugin cni failed to set up pod "myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d_myserver" network: plugin type="hybridnet" failed (add): request ip return 400 failed to wait for pod myserver-tomcat-app1-deployment-underlay-b4ff64fd8-r6j2d/myserver to be coupled with ip, expect 1 and get 0
  Warning  IPAllocationFail        8s (x16 over 2m52s)     PodController  unable to select network: unable to find underlay network for node node3, should check webhook liveness


#解决
生成containerd的配置文件
mkdir /etc/containerd -p 
生成配置文件
containerd config default > /etc/containerd/config.toml
编辑配置文件
vim /etc/containerd/config.toml
# sandbox_image = "k8s.gcr.io/pause:3.6"
改为:
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
SystemdCgroup = false 改为 SystemdCgroup = true#因为使用docker这里可以不修改如果使用containerd需要修改
#重启
systemctl restart containerd
因为底层网络沙箱容器pause:3.9下载的问题使用cri-docker的underlay网络部署失败

kubeadm初始化报错

初始化报错
root@master1:~# kubeadm init --apiserver-advertise-address=10.0.0.30 --apiserver-bind-port=6443 --kubernetes-version=v1.27.6 --pod-network-cidr=10.200.0.0/16 --service-cidr=10.0.10.0/16 --service-dns-domain=cluster.local --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --ignore-preflight-errors=swap --cri-socket unix:///var/run/cri-dockerd.sock
[init] Using Kubernetes version: v1.27.6
[preflight] Running pre-flight checks
    [WARNING Swap]: swap is enabled; production deployments should disable swap unless testing the NodeSwap feature gate of the kubelet
[preflight] Pulling images required for setting up a Kubernetes cluster

#报错信息如下
W1215 17:24:20.372975    4553 images.go:80] could not find officially supported version of etcd for Kubernetes v1.27.6, falling back to the nearest etcd version (3.5.7-0)
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.

Unfortunately, an error has occurred:
    timed out waiting for the condition

This error is likely caused by:
    - The kubelet is not running
    - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
    - 'systemctl status kubelet'
    - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all running Kubernetes containers by using crictl:
    - 'crictl --runtime-endpoint unix:///var/run/cri-dockerd.sock ps -a | grep kube | grep -v pause'
    Once you have found the failing container, you can inspect its logs with:
    - 'crictl --runtime-endpoint unix:///var/run/cri-dockerd.sock logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster
To see the stack trace of this error execute with --v=5 or higher

检查kubelet

root@master1:~# journalctl -xeu kubelet
░░
░░ The job identifier is 9109.
Dec 15 17:29:38 master1 kubelet[5073]: Flag --container-runtime-endpoint has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for mor>
Dec 15 17:29:38 master1 kubelet[5073]: Flag --pod-infra-container-image has been deprecated, will be removed in a future release. Image garbage collector will get sandbox image information from CRI.
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.249499 5073 server.go:199] "--pod-infra-container-image will not be pruned by the image garbage collector in kubelet and should also be set in the remote runtime"
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.255491 5073 server.go:415] "Kubelet version" kubeletVersion="v1.27.2"
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.255716 5073 server.go:417] "Golang settings" GOGC="" GOMAXPROCS="" GOTRACEBACK=""
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.256157 5073 server.go:837] "Client rotation is on, will bootstrap in background"
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.258528 5073 certificate_store.go:130] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem".
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.260752 5073 dynamic_cafile_content.go:157] "Starting controller" name="client-ca-bundle::/etc/kubernetes/pki/ca.crt"
Dec 15 17:29:38 master1 kubelet[5073]: I1215 17:29:38.270224 5073 server.go:662] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
Dec 15 17:29:38 master1 kubelet[5073]: E1215 17:29:38.270459 5073 run.go:74] "command failed" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps contained: [Filename\t\t\t\tType\t\>
Dec 15 17:29:38 master1 systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE

#command failed" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps

contained统计swap交换空间没有关闭

解决方法

swapoff -a

sed -ri 's/.*swap.*/#&/' /etc/fstab