当前位置: 首页 > news >正文

k8s使用kubectl报错

k8s使用kubectl报错:

[root@master01 ~]# kubectl get nodes The connection to the server localhost:8080 was refused - did you specify the right host or port?

检查kubelet状态,发现没启动成功

[root@node02 ~]# kubectl status kubelet E1217 23:04:52.465329 15895 run.go:120] "command failed" err="unknown command \"status\" for \"kubectl\"" [root@node02 ~]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: activating (auto-restart) (Result: exit-code) since Wed 2025-12-17 23:05:06 CST; 9s ago Docs: https://kubernetes.io/docs/ Process: 16001 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE) Main PID: 16001 (code=exited, status=1/FAILURE)

看日志

journalctl -u kubelet --no-pager | tail -50

发现是“misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"错误造成的。

kubelet 使用systemdcgroup 驱动,而 Docker 使用cgroupfs。需要统一配置。有两种解决方法:

方案一

修改 Docker 使用 systemd cgroup 驱动(推荐)

1、修改docker.json为systemd cgroup驱动

# 停止 Docker systemctl stop docker # 备份 Docker 配置 cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null || true # 创建或修改 Docker 配置 { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://registry.docker-cn.com", "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://docker.1ms.run", "https://hub.rat.dev", "https://docker.1panel.live" ], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }

2、重启docker

#停止docker systemctl stop docker docker.socket # 重新加载 systemd 配置 systemctl daemon-reload # 启动 Docker systemctl start docker # 验证 Docker 配置 docker info | grep -i cgroup # 应该显示:Cgroup Driver: systemd

3、重启

systemctl restart kubelet systemctl status kubelet

4、检查kubectl就正常了

方案二

修改 kubelet 使用 cgroupfs cgroup 驱动(略过)

问题原因

  • CentOS 7 / RHEL 7:默认使用cgroupfs(老的管理器)

  • Ubuntu 18.04+ / CentOS 8:默认使用systemd(新的管理器)

我机器是centos7,所以docker.json就是用的cgroupfs,我把docker.json的管理器改为systemd,和kubelet保持一致就可以了。

http://www.cnnetsun.cn/news/116907.html

相关文章:

  • GraphRAG-Local-UI终极指南:本地知识图谱构建与智能查询完整教程
  • Messari:Flow 生态 2025 年 Q3 发展概览
  • Draft.js工具栏深度定制:构建企业级富文本编辑器的完整实践
  • 下一个版本EmotiVoice将带来哪些惊喜?
  • 明诺多功能全自动洗地机,适用于超市、地库及商场清洁需求
  • 最近网上爆火的Flowith AI是啥?能否成为下一代AI Agent产品?
  • CesiumJS体素渲染终极指南:3D体积数据可视化完整解析
  • LrcApi终极指南:快速构建专业级歌词同步服务的完整方案
  • DeepSeek-V3.2-Exp推理部署终极指南:从模型文件到生产服务的完整路径
  • CVAT用户权限配置完整教程:从基础到高级的团队协作管理终极指南
  • ADC调试踩坑:一个printf引发的“血案“
  • 关键词:一致性算法;直流微电网;下垂控制;分布式二次控制;电压电流恢复与均分;非线性负载
  • ComfyUI-Manager安全权限终极指南:快速解决权限问题
  • Electronic WeChat个性化配置完全指南:从入门到精通
  • I2C总线:时序结构与数据帧
  • 适合新手的电脑版AI编曲软件快速根据哼唱清唱主旋律作伴奏
  • ZW3D二次开发_分享一个通过命令按钮查找关联API函数的插件
  • 【光照】Unity[光照探针]的作用与工作原理
  • 你有没有想过,像 ChatGPT 这样聪明的 AI,它是怎么“出生”的?
  • 基于单片机的数字电压表设计
  • 强化学习系统性学习笔记(二):策略优化的理论基础与算法实现
  • 基于STM32银行医院柜台叫号排队系统语音播报设计
  • c#造个轮子--GIF录制工具
  • 专利申请怕驳回、分类难?别担心!星河智源申请前评估来帮你
  • 【EF Core】通过 DbContext 选项扩展框架
  • 新用户免费试用EmotiVoice 1000个token
  • 免费视频增强神器:3步将模糊视频升级4K超清画质
  • dp 总结 1
  • 5大核心参数精准调优:从理论到实践的Faiss HNSW索引优化指南
  • LeetCode 最小覆盖子串:滑动窗口 + 哈希表高效解法