阿杰 ✅ 明白啦,你想要 在 K8s 集群上安装 KubeSphere。我帮你整理一个 01-K8s 集群搭建 + 安装 KubeSphere 的详细流程,适合入门实践。


🚀 01-K8s 集群搭建 & 安装 KubeSphere

一、环境准备

  • 系统:CentOS 7.9 / Ubuntu 20.04 / 22.04(推荐 Ubuntu)
  • 节点配置
    • Master:2 核 CPU + 4 GB 内存 + 40 GB 磁盘
    • Worker:2 核 CPU + 4 GB 内存 + 40 GB 磁盘
  • 网络要求:所有节点之间 内网互通,能访问公网(拉取镜像)。
  • 工具要求sshcurldocker 或 containerd

二、安装 K8s 集群

K8s 集群有多种安装方式,这里推荐 kubeadm 或 k3s

方式 1:Kubeadm 搭建 K8s

在 Master 节点执行:

# 1. 更新系统
sudo apt update && sudo apt -y upgrade

# 2. 安装依赖
sudo apt install -y apt-transport-https ca-certificates curl

# 3. 添加 Kubernetes APT 源
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

# 4. 安装 kubeadm, kubelet, kubectl
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# 5. 初始化集群(替换为你的 Pod CIDR)
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

初始化完成后,会提示 kubeadm join ... 命令,把它复制到 Worker 节点执行,即可加入集群。

安装 CNI 插件(如 Flannel):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

方式 2:K3s 搭建 K8s(轻量)

如果你环境资源少,可以用 k3s

curl -sfL https://get.k3s.io | sh -

查看状态:

sudo k3s kubectl get nodes

K3s 自带 flannel,省去 CNI 插件配置。


三、安装 KubeSphere

KubeSphere 可以作为 K8s 插件安装,支持 All-in-One 或 多节点部署

1. 下载安装脚本

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml

2. 查看安装进度

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath="{.items[0].metadata.name}") -f

等待安装完成(约 10~20 分钟)。

3. 登录 KubeSphere

默认访问地址:

http://<NodeIP>:30880

默认账号密码:

admin / P@88w0rd

四、验证安装

kubectl get pod -n kubesphere-system
kubectl get pod -n kubesphere-monitoring-system

确认所有 Pod 都是 Running 状态。


五、扩展功能(可选)

在 cluster-configuration.yaml 中启用更多模块,比如:

  • DevOps(CI/CD)
  • Logging(日志管理)
  • Monitoring(Prometheus/Grafana)
  • ServiceMesh(Istio)
  • Alerting(告警)

只需把 enabled: false 改成 true,再执行:

kubectl apply -f cluster-configuration.yaml

好嘞阿杰 ✅ 我给你准备一个 一键安装脚本,支持 K8s(kubeadm)集群 + KubeSphere 自动部署。你只需要在 Master 节点 执行一条命令,就能完成大部分操作。


🚀 一键安装 K8s + KubeSphere 脚本

保存为 install-k8s-kubesphere.sh

#!/bin/bash
# =============================================
# 一键安装 K8s (kubeadm) + KubeSphere (v3.4.1)
# 适用系统: Ubuntu 20.04 / 22.04
# =============================================

set -e

echo "[1/6] 更新系统..."
sudo apt update -y && sudo apt upgrade -y

echo "[2/6] 安装依赖..."
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

echo "[3/6] 安装 Docker..."
if ! command -v docker &> /dev/null; then
  curl -fsSL https://get.docker.com | bash
  sudo systemctl enable docker
  sudo systemctl start docker
fi

echo "[4/6] 安装 kubeadm, kubelet, kubectl..."
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

echo "[5/6] 初始化 K8s 集群..."
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all

echo "[6/6] 配置 kubectl..."
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

echo "[7/7] 安装 Flannel 网络插件..."
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

echo "[8/8] 部署 KubeSphere v3.4.1..."
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml

echo "===================================================="
echo "✅ 安装已完成!"
echo "请使用以下命令查看 KubeSphere 安装进度:"
echo "kubectl logs -n kubesphere-system \$(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}') -f"
echo ""
echo "安装完成后,浏览器访问: http://<MasterIP>:30880"
echo "默认账号: admin  默认密码: P@88w0rd"
echo "===================================================="

使用方法

  1. 上传脚本到 Master 节点:nano install-k8s-kubesphere.sh 粘贴内容后保存。
  2. 添加执行权限:chmod +x install-k8s-kubesphere.sh
  3. 执行脚本:./install-k8s-kubesphere.sh
  4. 等待安装完成(约 20 分钟),然后访问:http://<Master节点IP>:30880 用户名:admin 密码:P@88w0rd

好嘞阿杰 ✅ 我再给你一个 轻量化版本的一键安装脚本,基于 K3s + KubeSphere,非常适合 单机 / 低配置 VPS(2C4G 也能跑)


🚀 一键安装 K3s + KubeSphere 脚本

保存为 install-k3s-kubesphere.sh

#!/bin/bash
# ==================================================
# 一键安装 K3s (轻量K8s) + KubeSphere (v3.4.1)
# 适用系统: Ubuntu 20.04 / 22.04, CentOS7+
# 推荐配置: 2C4G 以上, 40G磁盘
# ==================================================

set -e

echo "[1/5] 更新系统..."
if [ -f /etc/debian_version ]; then
    sudo apt update -y && sudo apt upgrade -y
elif [ -f /etc/redhat-release ]; then
    sudo yum update -y
fi

echo "[2/5] 安装 K3s..."
if ! command -v k3s &> /dev/null; then
    curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --disable traefik" sh -
    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
    echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> ~/.bashrc
else
    echo "K3s 已存在,跳过安装"
fi

echo "[3/5] 检查节点状态..."
sudo k3s kubectl get nodes

echo "[4/5] 安装 KubeSphere v3.4.1..."
sudo k3s kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
sudo k3s kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml

echo "[5/5] 部署完成,查看安装进度..."
echo "执行以下命令查看安装日志:"
echo "sudo k3s kubectl logs -n kubesphere-system \$(sudo k3s kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}') -f"

echo "===================================================="
echo "✅ 安装已完成!"
echo "KubeSphere 控制台访问: http://<NodeIP>:30880"
echo "默认账号: admin   默认密码: P@88w0rd"
echo "===================================================="

使用方法

  1. 上传脚本到服务器nano install-k3s-kubesphere.sh 粘贴内容后保存。
  2. 赋予执行权限chmod +x install-k3s-kubesphere.sh
  3. 执行安装./install-k3s-kubesphere.sh
  4. 等待 10~20 分钟,查看安装进度:sudo k3s kubectl logs -n kubesphere-system $(sudo k3s kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath="{.items[0].metadata.name}") -f
  5. 完成后访问:http://<你的服务器IP>:30880 用户名:admin 密码:P@88w0rd

⚡ 小结:

  • kubeadm 版:适合生产环境,多节点大集群。
  • k3s 版:适合轻量环境、个人学习、小型测试。

好嘞阿杰 ✅ 我来帮你整理一个 Kubeadm vs K3s 安装 KubeSphere 的对比表,这样你能快速判断在不同场景下该选哪个。


📊 Kubeadm vs K3s 安装 KubeSphere 对比表

对比项Kubeadm + KubeSphereK3s + KubeSphere
定位官方标准 Kubernetes 安装方式,适合生产环境轻量化 K8s,专为资源有限的场景设计
适用场景企业级、生产集群,多节点、大规模部署个人学习、测试环境、轻量服务器(如 2C4G VPS)
资源需求Master ≥ 2C4G;Worker ≥ 2C4G;磁盘 40G+单机 2C4G 也能跑;磁盘 20G+
安装复杂度中等,需要配置 kubeadm、CNI、节点加入简单,一条脚本即可安装
组件完整性完整 Kubernetes(包含 kube-proxy、kubelet、apiserver 等)精简 Kubernetes(默认关闭部分组件,如 Traefik、metrics-server 可选启用)
网络插件需手动安装(Flannel/Calico/Cilium 等)内置 flannel(可替换,但一般不用动)
性能标准性能,组件全,资源占用略高更轻量,占用内存少,性能够用
运维工具完整生态(kubectl、helm、operator 等)一样支持 kubectl(路径不同:/etc/rancher/k3s/k3s.yaml
扩展性强,适合大规模生产级集群(几十上百节点)中,适合小规模集群(单节点/少量节点)
安装时间15~30 分钟(根据网络和节点数)5~15 分钟即可完成
学习门槛略高,需要了解 K8s 架构入门友好,非常适合初学者

🏆 建议选择

  • 如果你是 企业/生产部署:👉 Kubeadm + KubeSphere
    • 好处:标准、可扩展、支持大规模集群
    • 适用:公司内部集群、团队协作、DevOps 平台
  • 如果你是 个人学习/实验环境:👉 K3s + KubeSphere
    • 好处:轻量、安装快、对资源要求低
    • 适用:学生、开发者学习、在云服务器(2C4G/4C8G)跑起来