登录
首页 >  文章 >  linux

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)的连通性——每一步都是生产环境稳定落地的关键细节。

Linux环境下部署KubeSphere 零基础上手Kubernetes管理平台

KubeSphere 不是 Kubernetes 的替代品,而是跑在它上面的「图形化操作层」。想零基础快速上手,**别从 kubeadmminikube 开始,直接用 kk(KubeKey)一键拉起完整环境**——这是目前最省力、踩坑最少的路径。

为什么必须先关 firewalldSELinux

不是“建议”,是硬性要求。kk 在初始化节点时会自动配置 Calico 网络和 etcd 通信,而 firewalld 默认拦截大量端口(如 6443、2379、10250),会导致节点卡在 Waiting for etcd to be readySELinux 则会阻止容器挂载宿主机路径(比如 /etc/kubernetes)、限制 kubelet 启动权限,报错常为 permission deniedfailed 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.12v1.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-console Service,类型为 NodePort,必须由 kk 自动创建并绑定到节点 IP
  • 6443:Kubernetes API Server 端口,kubectl get node 能通但页面打不开,大概率是 ks-console Pod 没起来,用 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学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>