k8s kubelet日志报...“ err=“failed to parse kubelet flag: unknown flag: --network-plugin“问题解决梳理

这篇具有很好参考价值的文章主要介绍了k8s kubelet日志报...“ err=“failed to parse kubelet flag: unknown flag: --network-plugin“问题解决梳理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.问题描述

在k8s master get nodes时,报如下错误

命令:

kubectl get nodes

......
E0408 15:31:50.400954 23612 memcache.go:265] couldn't get current server API group list: Get "https://192.168.10.236:6443/api?timeout=20s": dial tcp 192.168.10.236:6443: connect: connection refused
......

查看kubelet服务状态,发现服务处于loaded状态,输入如下信息:

命令:

systemctl status kubelet

......
...Unit kubelet.service entered failed state.
...kubelet.service failed.
......

 查看kubelet日志,有如下报错

命令:

journalctl -xefu kubelet

......
Oct 13 16:00:15 master kubelet[27951]: E0408 16:00:15.786948 27951 run.go:74] "command failed" err="failed to parse kubelet flag: unknown flag: --network-plugin"
......

2.原因分析

根据日志初步分析,是cni网络模块出了问题,kubelet重启后,导致启动网络插件的命令无法执行。

进一步在master和minion节点上查看kubelet的版本,发现了问题

master节点

命令:

rpm -qa |grep kube

[root@centos79-3 kubernetes]# rpm -qa |grep kube
kubectl-1.24.9-0.x86_64
kubernetes-cni-1.24.9-0.x86_64
kubelet-1.24.9-0.x86_64
kubeadm-1.24.9-0.x86_64
[root@centos79-3 kubernetes]# 

minion节点

命令:

rpm -qa |grep kube

[root@cent79-2 ~]# rpm -qa | grep kube
kubectl-1.20.4-0.x86_64
kubernetes-cni-1.2.0-0.x86_64
kubelet-1.20.4-0.x86_64
kubeadm-1.20.4-0.x86_64
[root@cent79-2 ~]# 

即master节点的kubeadm、kubelet、kubectl、kubernetes-cni版本和minion节点上kubeadm、kubelet、kubectl、kubernetes-cni版本不一致,且master节点使用的版本高于minion节点。需要将master节点的kubeadm、kubelet、kubectl、kubernetes-cni版本降级至与minion节点一致

3.解决方案

-->master节点的kubeadm、kubelet、kubectl、kubernetes-cni版本执行降级

命令:

yum list kubeadm --showduplicates | sort -r

yum downgrade --setopt=obsoletes=0 -y kubectl-1.20.4-0.x86_64 kubernetes-cni-1.2.0-0.x86_64 kubelet-1.20.4-0.x86_64 kubeadm-1.20.4-0.x86_64

-->重启kubelet

命令:

systemctl restart kubelet

systemctl status kubelet

-->查看kubelet日志(正常)

命令:

journalctl -xefu kubelet

-->节点验证

命令:

rpm -qa | grep kube

kubectl -n kube-system get node

kubectl -n kube-system get pods

[root@centos79-3 ~]# rpm -qa | grep kube
kubectl-1.20.4-0.x86_64
kubernetes-cni-1.2.0-0.x86_64
kubelet-1.20.4-0.x86_64
kubeadm-1.20.4-0.x86_64
[root@centos79-3 ~]# kubectl -n kube-system get node
NAME         STATUS   ROLES                  AGE     VERSION
cent79-2     Ready    <none>                 2d22h   v1.20.4
centos79     Ready    <none>                 4h23m   v1.20.4
centos79-3   Ready    control-plane,master   2d22h   v1.20.4
[root@centos79-3 ~]# kubectl -n kube-system get pods
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-7854b85cf7-hn2zk   1/1     Running   10         2d18h
calico-node-f2s8w                          1/1     Running   7          2d18h
calico-node-pbjg4                          1/1     Running   2          4h23m
calico-node-v8cqp                          1/1     Running   0          92m
coredns-7f89b7bc75-plrq9                   1/1     Running   10         2d22h
coredns-7f89b7bc75-xdx8j                   1/1     Running   10         2d22h
etcd-centos79-3                            1/1     Running   12         2d22h
kube-apiserver-centos79-3                  1/1     Running   19         2d22h
kube-controller-manager-centos79-3         1/1     Running   12         2d22h
kube-proxy-5srcv                           1/1     Running   0          93m
kube-proxy-bpg48                           1/1     Running   3          25h
kube-proxy-kf48c                           1/1     Running   3          25h
kube-scheduler-centos79-3                  1/1     Running   13         2d22h
[root@centos79-3 ~]# 

至此, k8s kubelet日志报..." err="failed to parse kubelet flag: unknown flag: --network-plugin"问题完成解决文章来源地址https://www.toymoban.com/news/detail-836858.html

到了这里,关于k8s kubelet日志报...“ err=“failed to parse kubelet flag: unknown flag: --network-plugin“问题解决梳理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s kubectl 启动失败Unit kubelet.service entered failed state.

    怀疑是配置文件的路径出现问题 使用命令查看具体的报错信息: 报错显示没有 /usr/local/bin/kubelet 这个文件或目录,实际ls查看是有的。 此时配置文件存在,怀疑是路径出现问题,找不到。后来检查kubelet.service文件,发现配置了 “WorkingDirectory”,给它指定了工作目录。重新

    2024年01月16日
    浏览(42)
  • k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。

    先看一下报错的图片 这是在初始化maser的时候报的错。 我的环境情况 k8s:1.22.12 docker: 18.06.3 操作系统以及内核版本 解决办法 首先检查你到底写没写错 确定你的主机名字无误后,那么就进行这一步吧,无奈之举了 修改docker的配置文件 修改kubelet的启动项 或者 直接使用老版本

    2023年04月09日
    浏览(37)
  • failed to get sandbox image “k8s.gcr.io/pause:3.6“: failed to pull image “k8s.gcr.io/pause:3.6“

    从日志能够看到k8s核心服务的pod创建失败,因为获取pause镜像失败,总是从k8s.gcr.io下载。 经过确认,k8s 1.26中启用了CRI sandbox(pause) image的配置支持。 之前通过kubeadm init –image-repository设置的镜像地址,不再会传递给cri运行时去下载pause镜像 而是需要在cri运行时的配置文件中设

    2024年02月16日
    浏览(41)
  • k8s 启动 elasticsearch 失败: [failed to bind service]

    具体的错误信息 k logs -f elasticsearch-0 -n kube-system 排查最后导致启动失败的原因是,我的 elasticsearch 使用到了 pv、pvc 来做持久化存储,但是 elasticsearch 对我的挂载目录没有执行权限。 chmod 777 elasticsearch 之后重启 pod 即可。

    2024年02月15日
    浏览(45)
  • K8s错误处理:Failed to create pod sandbox

    K8s创建Pod时,使用kubectl describe命令查看Pod事件,发现在拉取镜像前出现报错,报错内容为: 该文件为DNS配置文件,一般由systemd-resolved服务管理,不能由用户修改。那些指点的人说把Master里的复制一份到Node中的人,实际上是行不通的。 如果你的systemd-resolved服务状态是active的

    2024年02月12日
    浏览(37)
  • k8s Failed to create pod sandbox错误处理

    错误信息: Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image \\\"k8s.gcr.io/pause:3.2\\\": failed to pull image \\\"k8s.gcr.io/pause:3.2\\\": failed to pull and unpack image \\\"k8s.gcr.io/pause:3.2\\\": failed to resolve reference \\\"k8s.gcr.io/pause:3.2\\\": failed to do request: Head \\\"https://k8s.gcr.io/v2/pause/manifests/3.2\\\": dial

    2024年02月16日
    浏览(89)
  • K8S之kubelet介绍

     一、总体概述: 一旦Pod被调度到对应的宿主机之后,后续要做的事情就是创建这个Pod,并管理这个Pod的生命周期,这里面包括:Pod的增删改查等操作,在K8S里面这部分功能是通过kubelet 这个核心组件来完成的。   对于一个Pod来说,它里面一般会存在多个容器,每个容器里面

    2024年02月06日
    浏览(29)
  • 解决K8s安装中节点初始化时 [kubelet-check] The HTTP call equal to ‘curl -sSL http://localhost:10248/healthz‘ 问题.

    问题描述: 安装K8s时,在节点初始化过程中出现[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.报错。 解决方法: 1、驱动问题,即docker的驱动与kubelet 驱动不一致 2、1

    2024年02月16日
    浏览(37)
  • k8s - kubelet启动失败处理记录

    测试环境好久没有使用了,启动kubelet发现失败了,查看状态,每看到具体报错点: [root@node1 ~]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent    Loaded: loaded (/usr/lib/systemd/system/kubelet.service; disabled; vendor preset: disabled)   Drop-In: /usr/lib/systemd/system/kubelet.service.d  

    2024年01月25日
    浏览(41)
  • 【博客694】k8s kubelet 状态更新机制

    场景: 当 Kubernetes 中 Node 节点出现状态异常的情况下,节点上的 Pod 会被重新调度到其他节点上去,但是有的时候我们会发现节点 Down 掉以后,Pod 并不会立即触发重新调度,这实际上就是和 Kubelet 的状态更新机制密切相关的,Kubernetes 提供了一些参数配置来触发重新调度的时

    2024年02月13日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包