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

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp