news 2026/5/8 5:32:22

k8s使用kubectl报错

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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保持一致就可以了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 14:32:46

DuckDB Java集成实战:从零构建高性能数据分析应用

DuckDB Java集成实战:从零构建高性能数据分析应用 【免费下载链接】duckdb DuckDB is an in-process SQL OLAP Database Management System 项目地址: https://gitcode.com/GitHub_Trending/du/duckdb 传统关系型数据库在数据分析场景中常常面临性能瓶颈&…

作者头像 李华
网站建设 2026/5/9 2:58:38

Monaco Editor集成终极指南:从架构解析到生产级部署方案

Monaco Editor集成终极指南:从架构解析到生产级部署方案 【免费下载链接】monaco-editor A browser based code editor 项目地址: https://gitcode.com/gh_mirrors/mo/monaco-editor 你是否在集成Monaco Editor时遭遇过"语言服务不可用"、"Wo…

作者头像 李华
网站建设 2026/5/7 19:53:38

电动汽车仿真终极指南:AVL-CRUISE动力性经济性完整教程

电动汽车仿真终极指南:AVL-CRUISE动力性经济性完整教程 【免费下载链接】AVL-CRUISE纯电动汽车动力性经济性仿真资源介绍分享 本资源文件详细介绍了如何利用AVL-CRUISE软件进行纯电动汽车的动力性经济性仿真。通过该文件,您将学习到如何设置仿真模型、输…

作者头像 李华
网站建设 2026/5/7 19:54:00

WebLink 即时通讯系统--测试报告

目录 一、测试背景 二、测试环境 三、功能测试 3.1设计测试用例 3.2基本功能测试 四、自动化测试 五、性能测试 一、测试背景 随着互联网的快速发展,即时通讯工具已成为人们日常生活和工作中不可或缺的一部分。网页聊天室作为一种轻量级的即时通讯平台&#…

作者头像 李华
网站建设 2026/5/7 11:43:24

学生开发者免费获取EmotiVoice学习资源

学生开发者免费获取EmotiVoice学习资源 在智能语音助手越来越“懂人心”的今天,你有没有想过,一段机器生成的声音也能带着笑意、藏着哽咽,甚至像老朋友一样轻声安慰?这不再是科幻电影的桥段——随着深度学习的发展,文本…

作者头像 李华
网站建设 2026/5/7 21:03:33

浏览器AI失控怎么办?WebLLM日志处理器精准干预指南

浏览器AI失控怎么办?WebLLM日志处理器精准干预指南 【免费下载链接】web-llm 将大型语言模型和聊天功能引入网络浏览器。所有内容都在浏览器内部运行,无需服务器支持。 项目地址: https://gitcode.com/GitHub_Trending/we/web-llm 你是否遇到过这…

作者头像 李华