k8s中calico网络组件部署时一个节点一直处于Pending状态

2024-03-13 11:04

本文主要是介绍k8s中calico网络组件部署时一个节点一直处于Pending状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

k8s中calico网络组件部署时一个节点一直处于Pending状态

故障截图
在这里插入图片描述

  1. 故障排查思路,通过describe查看具体原因
~]# kubectl describe pod calico-node-pzlfv -n kube-system

在这里插入图片描述
通过describe查看得知报错

Warning  FailedScheduling  58s (x23 over 23m)  default-scheduler  0/3 nodes are available: 1 Insufficient cpu, 2 node(s) didn't match Pod's node affinity/selector.
  1. 根据报错定位具体故障,通过网上查找资料,可能是节点CPU资源不够导致。可以使用命令以下命令查看集群中节点的资源使用情况。
~]# kubectl describe node |grep -E '((Name|Roles):\s{6,})|(\s+(memory|cpu)\s+[0-9]+\w{0,2}.+%\))'
Name:               k8s-master
Roles:              control-plane,mastercpu                850m (85%)   0 (0%)memory             240Mi (13%)  340Mi (19%)
Name:               k8s-node01
Roles:              <none>cpu                350m (35%)  0 (0%)memory             70Mi (4%)   170Mi (9%)
Name:               k8s-node02
Roles:              <none>cpu                350m (35%)  0 (0%)memory             70Mi (4%)   170Mi (9%)

可以看到master节点的cpu使用已经达到85%,剩余的已经不多。
查看calico组件yaml文件中requests下cpu的值。
在这里插入图片描述
可以看到定义的值大于目前已经剩余,在不影响calico正常运行的情况下调节requests值,然后重新apply即可。

~]# kubectl apply -f calico.yaml
configmap/calico-config unchanged
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/caliconodestatuses.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/ipreservations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org configured
customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org configured
clusterrole.rbac.authorization.k8s.io/calico-kube-controllers unchanged
clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers unchanged
clusterrole.rbac.authorization.k8s.io/calico-node unchanged
clusterrolebinding.rbac.authorization.k8s.io/calico-node unchanged
daemonset.apps/calico-node configured
serviceaccount/calico-node unchanged
deployment.apps/calico-kube-controllers unchanged
serviceaccount/calico-kube-controllers unchanged
poddisruptionbudget.policy/calico-kube-controllers configured

查看pod状态,可以看到calico状态已经正常,等待一分钟后,coredns状态也全部正常。

~]# kubectl get pods -n kube-system -o wide
NAME                                       READY   STATUS        RESTARTS   AGE    IP                NODE         NOMINATED NODE   READINESS GATES
calico-kube-controllers-5c64b68895-ph4kz   1/1     Running       0          99m    10.244.58.193     k8s-node02   <none>           <none>
calico-node-ctsmx                          0/1     Running       0          11s    192.168.200.111   k8s-master   <none>           <none>
calico-node-dckp2                          1/1     Running       0          99m    192.168.200.112   k8s-node01   <none>           <none>
calico-node-t59rb                          0/1     Running       0          11s    192.168.200.113   k8s-node02   <none>           <none>
coredns-6d8c4cb4d-2nsrp                    0/1     Terminating   0          112m   <none>            k8s-master   <none>           <none>
coredns-6d8c4cb4d-cdpf7                    1/1     Running       0          21m    10.244.58.194     k8s-node02   <none>           <none>
coredns-6d8c4cb4d-ppvc4                    0/1     Terminating   0          112m   <none>            k8s-master   <none>           <none>
coredns-6d8c4cb4d-x5cv7                    1/1     Running       0          99m    10.244.85.193     k8s-node01   <none>           <none>
etcd-k8s-master                            1/1     Running       2          113m   192.168.200.111   k8s-master   <none>           <none>
kube-apiserver-k8s-master                  1/1     Running       2          113m   192.168.200.111   k8s-master   <none>           <none>
kube-controller-manager-k8s-master         1/1     Running       4          113m   192.168.200.111   k8s-master   <none>           <none>
kube-proxy-bm6h5                           1/1     Running       0          110m   192.168.200.112   k8s-node01   <none>           <none>
kube-proxy-mv85c                           1/1     Running       0          112m   192.168.200.111   k8s-master   <none>           <none>
kube-proxy-v6qlv                           1/1     Running       0          109m   192.168.200.113   k8s-node02   <none>           <none>
kube-scheduler-k8s-master                  1/1     Running       5          113m   192.168.200.111   k8s-master   <none>           <none>
r ~]# kubectl get pods -n kube-system -o wide
NAME                                       READY   STATUS    RESTARTS   AGE    IP                NODE         NOMINATED NODE   READINESS GATES
calico-kube-controllers-5c64b68895-ph4kz   1/1     Running   0          100m   10.244.58.193     k8s-node02   <none>           <none>
calico-node-ctsmx                          1/1     Running   0          37s    192.168.200.111   k8s-master   <none>           <none>
calico-node-lf94h                          1/1     Running   0          17s    192.168.200.112   k8s-node01   <none>           <none>
calico-node-t59rb                          1/1     Running   0          37s    192.168.200.113   k8s-node02   <none>           <none>
coredns-6d8c4cb4d-cdpf7                    1/1     Running   0          21m    10.244.58.194     k8s-node02   <none>           <none>
coredns-6d8c4cb4d-x5cv7                    1/1     Running   0          100m   10.244.85.193     k8s-node01   <none>           <none>
etcd-k8s-master                            1/1     Running   2          113m   192.168.200.111   k8s-master   <none>           <none>
kube-apiserver-k8s-master                  1/1     Running   2          113m   192.168.200.111   k8s-master   <none>           <none>
kube-controller-manager-k8s-master         1/1     Running   4          113m   192.168.200.111   k8s-master   <none>           <none>
kube-proxy-bm6h5                           1/1     Running   0          110m   192.168.200.112   k8s-node01   <none>           <none>
kube-proxy-mv85c                           1/1     Running   0          113m   192.168.200.111   k8s-master   <none>           <none>
kube-proxy-v6qlv                           1/1     Running   0          110m   192.168.200.113   k8s-node02   <none>           <none>
kube-scheduler-k8s-master                  1/1     Running   5          113m   192.168.200.111   k8s-master   <none>           <none>

这篇关于k8s中calico网络组件部署时一个节点一直处于Pending状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804652

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access