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

相关文章

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o