KubePi实战部署
🚀 KubePi实战部署指南 | 可视化Kubernetes集群全生命周期管理
作为KubeOperator的增强组件,KubePi提供企业级Kubernetes集群部署能力。以下是基于v3.12.0+的黄金配置流程:
一、环境准备(部署机要求)
# 验证环境
grep -E '(vmx|svm)' /proc/cpuinfo # 确认CPU虚拟化支持
free -h | awk '/Mem:/{print $2}' # 检查内存
df -h /var/lib/docker # 存储空间验证
二、快速安装KubePi
1. 容器化部署(推荐)
# 创建持久化目录
mkdir -p /data/kubepi/{data,logs,plugins}
# 启动容器
docker run -d \
--name kubepi \
--restart always \
-p 80:80 \
-v /data/kubepi/data:/var/lib/kubepi \
-v /data/kubepi/logs:/var/log/kubepi \
-v /data/kubepi/plugins:/opt/kubepi/plugins \
kubepi/kubepi-server:3.12.0
2. 初始化访问
浏览器访问
http://部署机IP
首次登录使用默认凭证:
用户名: admin 密码: kubepi@admin123
立即修改密码:系统设置 → 用户管理 → admin用户
三、创建Kubernetes集群
1. 集群参数配置
# 示例主机清单文件(hosts.yaml)
- name: master01
ip: 192.168.1.101
role: [master, etcd]
ssh_user: root
ssh_pass: "SecurePass123!"
- name: worker01
ip: 192.168.1.102
role: [worker]
labels:
gpu: "true"
storage: "ssd"
2. 部署流程
上传主机清单
导航至集群管理 → 创建集群 → 导入主机
上传预配置的
hosts.yaml
文件
定制组件
[√] Metrics Server # 资源监控 [√] Ingress-Nginx # 流量入口 [√] OPA Gatekeeper # 策略引擎 [ ] Istio # 按需启用服务网格
高级网络配置
Service CIDR: 10.96.0.0/16 Pod CIDR: 10.244.0.0/16 DNS Domain: cluster.local
执行部署
点击验证主机通过SSH连通性检查
确认无误后启动一键部署
四、关键功能配置
1. OPA策略管理
进入策略引擎 → 约束模板
应用预置策略:
# 强制Pod资源限制 violation[{"msg": msg}] { container := input.review.object.spec.containers[_] not container.resources.limits.cpu msg := sprintf("容器 %v 必须定义CPU限制", [container.name]) }
2. 存储动态供给
导航至存储管理 → 存储类
创建NFS存储类:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-storage provisioner: cluster.local/nfs-subdir-external-provisioner parameters: archiveOnDelete: "false"
五、运维监控
1. 实时仪表盘
2. 日志聚合
启用EFK套件:
# 在KubePi插件市场安装Elasticsearch+Fluentd+Kibana kubectl apply -f https://raw.githubusercontent.com/kubepi/plugins/main/efk/install.yaml
六、灾备与升级
1. 集群备份
# 创建定时备份任务
velero schedule create daily-backup \
--schedule="@daily" \
--include-namespaces="*" \
--exclude-resources="events,events.events.k8s.io"
2. 原地升级流程
通过集群管理 → 升级选择目标版本
采用滚动更新策略:
Master节点:串行升级,间隔10分钟 Worker节点:并行升级,最大不可用30%
⚠️ 关键注意事项
生产环境务必启用HTTPS访问(KubePi支持Let’s Encrypt自动签发)
避免混合架构部署(如同时存在ARM/X86节点)
定期清理ETCD历史版本:
etcdctl compact 10000
🔧 排错命令速查
# 查看部署日志
kubepi-cli logs deploy -n kubepi-system
# 重置异常节点
kubepi-cli node reset 192.168.1.101 --force
# 导出诊断包
kubepi-cli diagnose --output cluster-diag.zip