kubeadm init 或 join 失败 [kubelet-check] Initial timeout of 40s passed.
前言
kubeadm 初始化或 join 时,报错:
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
I1122 10:50:39.224341 51720 local.go:65] [etcd] wrote Static Pod manifest for a local etcd member to "/etc/kubernetes/manifests/etcd.yaml"
I1122 10:50:39.224602 51720 waitcontrolplane.go:91] [wait-control-plane] Waiting for the API server to be healthy
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.
Unfortunately, an error has occurred:
timed out waiting for the condition
This error is likely caused by:
- The kubelet is not running
- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)
If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
- 'systemctl status kubelet'
- 'journalctl -xeu kubelet'
Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all Kubernetes containers running in docker:
- 'docker ps -a | grep kube | grep -v pause'
Once you have found the failing container, you can inspect its logs with:
- 'docker logs CONTAINERID'
couldn't initialize a Kubernetes cluster
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/init.runWaitControlPlanePhase
/workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/init/waitcontrolplane.go:118
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run.func1
/workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:234
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).visitAll
/workspace/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow/runner.go:421
k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow.(*Runner).Run
解决
新增 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件,增加如下内容
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# Note: This dropin only works with kubeadm and kubelet v1.11+
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
EnvironmentFile=-/etc/sysconfig/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
重新init、join
删除初始化中断创建的文件
systemctl stop kubelet
kubeadm reset -f
rm -rf $HOME/.kube/config
rm -rf /etc/kubernetes
rm -rf /var/lib/etcd
rm -rf /var/lib/kubelet
rm -rf /var/lib/kubernetes
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
systemctl daemon-reload
rm -rf /etc/kubernetes/manifests
然后重新 init、join,就成功了
第二种解决方式
修改 /lib/systemd/system/kubelet.service文件
vim /lib/systemd/system/kubelet.service
添加 kubelet 启动参数,如下
[Service]
ExecStart=/usr/bin/kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml
如有需要重启 kubelet,如下
systemctl daemon-reload
systemctl restat kubelet
systemctl status kubelet
kubeadm init 或 join 失败 [kubelet-check] Initial timeout of 40s passed.的更多相关文章
- kubernetes1.13之后的kubeadm init config
1.kubernetes1.13之后kubeadm开始GA,由于1.13的kube-proxy有bug,删除ipvs的地方总是导致kube-proxy挂掉,所以建议直接用1.13.2,这个版本解决了b ...
- kubeadm init 卡在 Created API client, waiting for the control plane to become ready
执行 kubeadm init 时出现卡在了 [apiclient] Created API client, waiting for the control plane to become ready ...
- 使用代理*** and kubeadm init错误
没有代理 可申请AWS免费账户,创建EC2实例,搭建Shadowsocks服务器. 配置代理客户端 参考链接:https://www.zybuluo.com/ncepuwanghui/note/954 ...
- kubeadm init 时从本地私有仓库下载镜像
#kubeadm init 时从本地私有仓库下载镜像 images=( gcr.io/google_containers/kube-proxy-amd64:v1.6.1 gcr.io/google_c ...
- kubeadm init初始化报错解决,亲测
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull' error ...
- golang http Specifically check for timeout error
Specifically check for timeout error 特异性识别 golang http client 的超时错误 package main import ( "fmt& ...
- 创建<Bean>sessionFactory错误, init方法调用失败;嵌套异常是org.hibernate.exception。
未知原因:在Maven中hibernate映射开启了自动更新表,出现此异常 org.springframework.beans.factory.BeanCreationException: Error ...
- kubeadm init 命令执行流程
- kubernetes之kubeadm 安装kubernetes 高可用集群
1. 架构信息 系统版本:CentOS 7.6 内核:3.10.0-957.el7.x86_64 Kubernetes: v1.14.1 Docker-ce: 18.09.5 推荐硬件配置:4核8G ...
- Kubernetes 使用kubeadm创建集群
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 实践环境 CentOS-7-x86_64-DVD-1810 Docker 19.03.9 Kubernetes version: v1.20.5 ...
随机推荐
- manim边学边做--同伦变换
在Manim中,移动一个元素除了之前介绍的方法之外,还可以通过同伦运算来移动一个元素. 与普通的移动元素方式相比,使用同伦运算移动一个元素时,实际上是在考虑整个空间的连续变形过程中元素的相应变化. 这 ...
- 微信团队分享:详解iOS版微信视频号直播中因帧率异常导致的功耗问题
本文由微信客户端团队rhythm分享,原题"视频号直播:如何进一步降低功耗占用?",本文有修订和改动. 1.引言 功耗优化一直是 app 性能优化中让人头疼的问题,尤其是在直播这种 ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.2版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...
- Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式
Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式 本文参考输入输出 - Python 3.7.10 文档.首先声明咱的实验环境. ❯ python --version Pytho ...
- 【狂神说Java】Java零基础学习笔记-Java入门
[狂神说Java]Java零基础学习笔记-Java入门 Java入门01:Java帝国的诞生 C&C++ 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 ...
- CDS标准视图:应收账龄表 I_ARJrnlEntrItmAgingGrid
视图名称:应收账龄表 I_ARJrnlEntrItmAgingGrid 视图类型:参数 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IARJEITMAGGRID' ...
- 网站架构核心技disruptor
一 序:本章业务场景:队列在数据结构中是一种线性表,从一端插入数据,然后从另一端删除数据.作者举例的场景有:进行异步处理.系统解耦.数据同步.流量削峰.缓冲.限流等. 前面的比较浅,总结起来,核心知识 ...
- biancheng-Python教程
目录http://c.biancheng.net/python/ 1Python编程基础2Python编程环境搭建3变量类型和运算符4列表.元组.字典和集合5Python字符串常用方法6Python流 ...
- Robot Framework 自动化测试部署常见问题及处理方法(三)
书接上文 8.关于IE浏览器 IE浏览器必须是原生版,即Windows系统原版,非手动升级后的版本 9.用例执行过程中,遇到元素定位不到的情况 原因: ⑴xpath动态变化 ⑵有frame/ifram ...
- 创新+1+1+1+1!筑牢算力底座,助推AI产业繁荣发展!
近日,ICT中国·2024高层论坛-云原生发展论坛在北京国家会议中心举办.天翼云出席<城市算力互联网实践指南>编制工作启动仪式.AI Cloud人工智能云服务标准体系阶段性成果发布仪式.算 ...