k8s - kubelet启动失败处理记录

这篇具有很好参考价值的文章主要介绍了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
           └─10-kubeadm.conf
   Active: activating (auto-restart) (Result: exit-code) since Thu 2023-08-03 22:24:50 CST; 5s ago
     Docs: https://kubernetes.io/docs/
  Process: 2651 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)
 Main PID: 2651 (code=exited, status=1/FAILURE)

Aug 03 22:24:50 node1 kubelet[2651]: Insecure values: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_E...
Aug 03 22:24:50 node1 kubelet[2651]: --tls-min-version string                                   Minimum TLS version supported. Possible values: VersionTLS...
Aug 03 22:24:50 node1 kubelet[2651]: --tls-private-key-file string                              File containing x509 private key matching --tls-cert-file....
Aug 03 22:24:50 node1 kubelet[2651]: --topology-manager-policy string                           Topology Manager policy to use. Possible values: 'none', '...
Aug 03 22:24:50 node1 kubelet[2651]: --topology-manager-scope string                            Scope to which topology hints applied. Topology Manager co...
Aug 03 22:24:50 node1 kubelet[2651]: -v, --v Level                                                  number for the log level verbosity
Aug 03 22:24:50 node1 kubelet[2651]: --version version[=true]                                   Print version information and quit
Aug 03 22:24:50 node1 kubelet[2651]: --vmodule pattern=N,...                                    comma-separated list of pattern=N settings for fi...g format)
Aug 03 22:24:50 node1 kubelet[2651]: --volume-plugin-dir string                                 The full path of the directory in which to search for addi...
Aug 03 22:24:50 node1 kubelet[2651]: --volume-stats-agg-period duration                         Specifies interval for kubelet to calculate and cache the ...
Hint: Some lines were ellipsized, use -l to show in full.

看看日志吧:journalctl -xu kubelet

Aug 03 22:05:14 node1 kubelet[1391]: Error: failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such
Aug 03 22:05:14 node1 systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
Aug 03 22:05:14 node1 kubelet[1391]: Usage:
Aug 03 22:05:14 node1 kubelet[1391]: kubelet [flags]
Aug 03 22:05:14 node1 kubelet[1391]: Flags:
Aug 03 22:05:14 node1 kubelet[1391]: --add-dir-header                                           If true, adds the file directory to the header of the log mes
Aug 03 22:05:14 node1 kubelet[1391]: --address ip                                               The IP address for the Kubelet to serve on (set to '0.0.0.0'
Aug 03 22:05:14 node1 kubelet[1391]: --allowed-unsafe-sysctls strings                           Comma-separated whitelist of unsafe sysctls or unsafe sysctl
Aug 03 22:05:14 node1 kubelet[1391]: --alsologtostderr                                          log to standard error as well as files (DEPRECATED: will be r
Aug 03 22:05:14 node1 kubelet[1391]: --anonymous-auth                                           Enables anonymous requests to the Kubelet server. Requests th
Aug 03 22:05:14 node1 systemd[1]: Unit kubelet.service entered failed state.
Aug 03 22:05:14 node1 kubelet[1391]: --application-metrics-count-limit int                      Max number of application metrics to store (per container) (d
Aug 03 22:05:14 node1 kubelet[1391]: --authentication-token-webhook                             Use the TokenReview API to determine authentication for beare
Aug 03 22:05:14 node1 kubelet[1391]: --authentication-token-webhook-cache-ttl duration          The duration to cache responses from the webhook token authen
Aug 03 22:05:14 node1 kubelet[1391]: --authorization-mode string                                Authorization mode for Kubelet server. Valid options are Alwa
Aug 03 22:05:14 node1 kubelet[1391]: --authorization-webhook-cache-authorized-ttl duration      The duration to cache 'authorized' responses from the webhook
Aug 03 22:05:14 node1 systemd[1]: kubelet.service failed.
Aug 03 22:05:14 node1 kubelet[1391]: --authorization-webhook-cache-unauthorized-ttl duration    The duration to cache 'unauthorized' responses from the webho
Aug 03 22:05:14 node1 kubelet[1391]: --azure-container-registry-config string                   Path to the file containing Azure container registry configur

google了下,应该是证书过期了。

[root@node1 ~]# kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[check-expiration] Error reading configuration from the Cluster. Falling back to default configuration

CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Jul 14, 2023 15:36 UTC   <invalid>       ca                      no
apiserver                  Jul 14, 2023 15:36 UTC   <invalid>       ca                      no
apiserver-etcd-client      Jul 14, 2023 15:36 UTC   <invalid>       etcd-ca                 no
apiserver-kubelet-client   Jul 14, 2023 15:36 UTC   <invalid>       ca                      no
controller-manager.conf    Jul 14, 2023 15:36 UTC   <invalid>       ca                      no
etcd-healthcheck-client    Jul 14, 2023 15:36 UTC   <invalid>       etcd-ca                 no
etcd-peer                  Jul 14, 2023 15:36 UTC   <invalid>       etcd-ca                 no
etcd-server                Jul 14, 2023 15:36 UTC   <invalid>       etcd-ca                 no
front-proxy-client         Jul 14, 2023 15:36 UTC   <invalid>       front-proxy-ca          no
scheduler.conf             Jul 14, 2023 15:36 UTC   <invalid>       ca                      no

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Jul 11, 2032 15:36 UTC   8y              no
etcd-ca                 Jul 11, 2032 15:36 UTC   8y              no
front-proxy-ca          Jul 11, 2032 15:36 UTC   8y              no

重新生成吧:

[root@node1 ~]# kubeadm certs renew all
[renew] Reading configuration from the cluster...
[renew] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[renew] Error reading configuration from the Cluster. Falling back to default configuration

certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
certificate for serving the Kubernetes API renewed
certificate the apiserver uses to access etcd renewed
certificate for the API server to connect to kubelet renewed
certificate embedded in the kubeconfig file for the controller manager to use renewed
certificate for liveness probes to healthcheck etcd renewed
certificate for etcd nodes to communicate with each other renewed
certificate for serving etcd renewed
certificate for the front proxy client renewed
certificate embedded in the kubeconfig file for the scheduler manager to use renewed

Done renewing certificates. You must restart the kube-apiserver, kube-controller-manager, kube-scheduler and etcd, so that they can use the new certificates.
[root@node1 ~]#

再次验证:

[root@node1 ~]#  kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[check-expiration] Error reading configuration from the Cluster. Falling back to default configuration

CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Aug 02, 2024 14:59 UTC   364d            ca                      no
apiserver                  Aug 02, 2024 14:59 UTC   364d            ca                      no
apiserver-etcd-client      Aug 02, 2024 14:59 UTC   364d            etcd-ca                 no
apiserver-kubelet-client   Aug 02, 2024 14:59 UTC   364d            ca                      no
controller-manager.conf    Aug 02, 2024 14:59 UTC   364d            ca                      no
etcd-healthcheck-client    Aug 02, 2024 14:59 UTC   364d            etcd-ca                 no
etcd-peer                  Aug 02, 2024 14:59 UTC   364d            etcd-ca                 no
etcd-server                Aug 02, 2024 14:59 UTC   364d            etcd-ca                 no
front-proxy-client         Aug 02, 2024 14:59 UTC   364d            front-proxy-ca          no
scheduler.conf             Aug 02, 2024 14:59 UTC   364d            ca                      no

CERTIFICATE AUTHORITY   EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
ca                      Jul 11, 2032 15:36 UTC   8y              no
etcd-ca                 Jul 11, 2032 15:36 UTC   8y              no
front-proxy-ca          Jul 11, 2032 15:36 UTC   8y              no

但发现还是没有:/etc/kubernetes/bootstrap-kubelet.conf  继续执行

$ cd /etc/kubernetes/pki/
$ mv {apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} /etc/kubernetes/pki/backup1 一定要mv走
$ kubeadm init --apiserver-advertise-address=192.168.56.101  phase certs all
$ cd /etc/kubernetes/
$ mv {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} /etc/kubernetes/backup1 一定要mv走
$ kubeadm init --apiserver-advertise-address=192.168.56.101 phase kubeconfig all
$ reboot
$ cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
还需要将ca.crt拷贝到其它节点: google/baidu上不知道为什么都漏了这一步
[root@node1 kubernetes]# scp -rp kubelet.conf node2:/etc/kubernetes
[root@node1 pki]# scp -rp pki/ca.crt node2:/etc/kubernetes/pki
$ scp -rp /etc/kubernetes/admin.conf  node2:/root/.kube/config

验证一下:

kubelet auto-restart,k8s开发基础,kubelet,云原生文章来源地址https://www.toymoban.com/news/detail-823967.html

到了这里,关于k8s - kubelet启动失败处理记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 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日
    浏览(60)
  • K8S之kubelet介绍

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

    2024年02月06日
    浏览(36)
  • 【博客694】k8s kubelet 状态更新机制

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

    2024年02月13日
    浏览(43)
  • k8s之节点kubelet预留资源配置

    最近k8s在使用过程中遇到这样一个问题 由于Pod没有对内存及CPU进行限制,导致Pod在运行过程中所需的内存超过了节点本身的内存(OOM),从而导致节点崩溃,使得运行在该节点上的所有Pod都失败了 为了解决这个问题以及提高节点的稳定性,综合k8s的一些特性,方案如下 每个

    2024年02月04日
    浏览(46)
  • 第四篇:k8s之节点kubelet预留资源配置

    最近k8s在使用过程中遇到这样一个问题 由于Pod没有对内存及CPU进行限制,导致Pod在运行过程中所需的内存超过了节点本身的内存(OOM),从而导致节点崩溃,使得运行在该节点上的所有Pod都失败了 为了解决这个问题以及提高节点的稳定性,综合k8s的一些特性,方案如下 每个

    2024年02月15日
    浏览(37)
  • k8s中,kubelet 出现问题, k8s-master node not found.

    由于一些其他问题,需要kubeadm reset,在做完kubeadm reset后,出现以下问题。 执行systemctl restart kubelet。 出现 k8s-master node not found,尽管 kubelet依旧是active状态 排查 hostname、etc/hosts等均正常。 通过journalctl -xe kubelet查看,依旧是如下错误。  经过多方尝试未果。又尝试着kubelet初

    2024年02月07日
    浏览(40)
  • k8s kubelet coredns ubuntu修改dns配置文件读取路径

    coredns 服务默认使用节点上的dns配置,由于在 Ubuntu18 及以上版本,默认是启用 systemd-resolved 服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件

    2024年02月15日
    浏览(45)
  • 云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行

    Kubernetes是一个开源的, 用于编排云平台中多个主机上的容器化的应用,目标是让部署容器化的应用能简单并且高效的使用, 提供了应用部署,规划,更新,维护的一种机制 。其核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,管理员可

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

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

    2023年04月09日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包