KubeSphere 4.0 多集群管理搭建指南

KubeSphere 是一个开源的云原生平台,支持多 Kubernetes 集群的统一管理、监控和权限控制。以下为完整搭建流程:


1. 环境准备
  • 硬件要求
    • 主集群:至少 8 核 CPU / 16GB RAM / 100GB 存储
    • 成员集群:至少 4 核 CPU / 8GB RAM / 50GB 存储
  • 软件依赖
    • Kubernetes 版本:$ \geq 1.20 $
    • Helm 版本:$ \geq 3.0 $
    • 所有节点需开启 iptablesIPVS 模块

2. 主集群安装

步骤 1:安装 KubeSphere Core

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

步骤 2:验证安装

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

当输出 "Welcome to KubeSphere!" 时表示安装成功。


3. 多集群接入

步骤 1:获取成员集群 Join 信息
在主集群控制台:

  1. 进入 集群管理多集群管理
  2. 点击 添加集群 → 复制生成的 join command

步骤 2:成员集群接入
在成员集群执行:

curl -L -o kubesphere-join.sh https://[主集群IP]/kubesphere/join
chmod +x kubesphere-join.sh && ./kubesphere-join.sh


4. 集群监控配置

启用 Prometheus + Grafana

  1. 主集群控制台 → 平台管理集群监控
  2. 选择目标集群 → 开启 监控组件
  3. 自定义指标采集:
    # metrics-server-config.yaml
    metrics:
      interval: 30s
      resources: ["pods", "nodes"]
    


5. 权限控制

场景 1:多租户隔离

  1. 创建企业空间:
    kubectl create workspace prod-team --manager admin
    

  2. 分配集群权限:
    • 进入 访问控制角色管理
    • 绑定角色:如 workspace-admincluster-viewer

场景 2:细粒度 RBAC

# rbac-policy.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dev-team-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: edit
subjects:
- kind: User
  name: "dev-user@example.com"


6. 验证功能
  • 监控看板
    • 查看集群资源利用率:$ \text{CPU} = \frac{\text{已用}}{\text{总量}} \times 100% $
    • 实时告警:支持 $ \text{CPU} > 80% $ 或 $ \text{内存} > 90% $ 阈值
  • 权限测试
    • 用低权限账号尝试访问受限资源,应触发 Forbidden 错误

故障排查
问题现象解决方案
成员集群接入超时检查防火墙规则,确保 $ 30880/TCP $ 端口开放
监控数据缺失在成员集群执行 kubectl get pods -n kubesphere-monitoring-system
RBAC 权限未生效使用 kubectl auth can-i create pods --as=dev-user 验证

提示:详细文档见 KubeSphere 官方文档
通过以上步骤,您将实现多集群的统一管理、实时监控和精细化权限控制。

更多推荐