Linux部署KubeSphere,零基础玩转K8s
时间:2026-04-16 09:33:43 492浏览 收藏
本文手把手教你零基础在Linux上快速部署KubeSphere——这个运行在Kubernetes之上的强大图形化管理平台,强调它并非K8s替代品而是增强层;全程聚焦实操避坑:必须永久关闭firewalld和SELinux、严格匹配KubeSphere与Kubernetes版本(如v3.4.1配v1.25.12)、彻底禁用swap,并通过KubeKey(kk)一键部署;安装后若打不开Web界面,需重点验证30880(控制台)、6443(API Server)及NodePort端口范围(30000–32767)的连通性——每一步都是生产环境稳定落地的关键细节。

KubeSphere 不是 Kubernetes 的替代品,而是跑在它上面的「图形化操作层」。想零基础快速上手,**别从 kubeadm 或 minikube 开始,直接用 kk(KubeKey)一键拉起完整环境**——这是目前最省力、踩坑最少的路径。
为什么必须先关 firewalld 和 SELinux
不是“建议”,是硬性要求。kk 在初始化节点时会自动配置 Calico 网络和 etcd 通信,而 firewalld 默认拦截大量端口(如 6443、2379、10250),会导致节点卡在 Waiting for etcd to be ready;SELinux 则会阻止容器挂载宿主机路径(比如 /etc/kubernetes)、限制 kubelet 启动权限,报错常为 permission denied 或 failed to run Kubelet。
- 临时关闭:
systemctl stop firewalld && setenforce 0 - 永久禁用(重启后仍生效):
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config,改完必须重启 - 别信“只开几个端口就行”——
kk内部组件通信端口多且动态,关防火墙是最稳解法
kk create cluster 命令里哪些参数不能乱填
新手最容易栽在版本兼容上。--with-kubernetes 和 --with-kubesphere 必须配对使用,官方只验证过特定组合。比如 v3.4.1 KubeSphere 只支持 v1.25.12 或 v1.26.10 的 Kubernetes,填 v1.27.x 会卡在 ks-installer 初始化阶段,日志里反复出现 failed to patch clusterconfiguration。
- 查兼容表最简单方式:访问
https://kubesphere.io/docs/v3.4/installing-on-linux/introduction/kubekey/(注意 URL 中的版本号要和你要装的匹配) - 单机部署推荐固定组合:
--with-kubernetes v1.25.12 --with-kubesphere v3.4.1 - 不加
--with-kubesphere参数,kk只装裸 Kubernetes,不会自动部署 KubeSphere 组件
安装完成后打不开 Web 页面?先盯住这三个端口
安装成功后提示的地址通常是 https://[IP]:30880,但浏览器打不开不等于没装好。真正决定能否访问的是底层三个服务是否监听正确:
30880:KubeSphere 的ks-consoleService,类型为NodePort,必须由kk自动创建并绑定到节点 IP6443:Kubernetes API Server 端口,kubectl get node能通但页面打不开,大概率是ks-consolePod 没起来,用kubectl get pod -n kubesphere-system看状态30000-32767:NodePort 范围,如果云服务器(如 AWS、阿里云)安全组没放行这个范围,外部请求根本到不了节点——这是公网部署最常漏的一步
验证方法:curl -k https://localhost:30880 在服务器本机执行,能返回 HTML 就说明服务已就绪,问题出在网络链路上。
swap 分区没关会导致 kubelet 启动失败
Kubernetes 从 v1.8 起强制要求关闭 swap,否则 kubelet 进程启动后几秒内就会退出,journalctl -u kubelet -n 50 日志末尾固定出现 running with swap on is not supported。这不是警告,是致命错误。
- 临时关闭:
swapoff -a - 永久关闭:注释掉
/etc/fstab中所有含swap的行,例如把/dev/mapper/centos-swap swap swap defaults 0 0改成#/dev/mapper/centos-swap swap swap defaults 0 0 - 别只做
swapoff -a就以为完事——重启后会恢复,必须改fstab
这个点特别容易被忽略,因为安装脚本不会主动检查 swap 是否已关,而是在 kubelet 启动失败后才暴露,排查时容易绕远路。
终于介绍完啦!小伙伴们,这篇关于《Linux部署KubeSphere,零基础玩转K8s》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
445 收藏
-
457 收藏
-
375 收藏
-
121 收藏
-
264 收藏
-
453 收藏
-
123 收藏
-
463 收藏
-
255 收藏
-
437 收藏
-
317 收藏
-
106 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习