Kuboard 完整安装与使用指南(跨平台版)
一、安装准备
确保已安装以下工具: •
kubectl(v1.16+) • Kubernetes 集群(Minikube/Kubeadm/EKS/AKS 等) • Helm(可选,仅需安装 Metrics Server 时使用)网络要求: • 能访问
kuboard.cn域名(国内服务器可直接访问,海外服务器可替换为阿里云镜像)
二、安装 Kuboard
1. 安装 Kuboard 主控制器
bash
# Linux/macOS/Windows 通用命令
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml2. 安装 Metrics Server(监控组件)
bash
# 通用安装命令
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml3. 验证安装状态
bash
# 检查 Pod 是否运行正常(状态应为 Running)
kubectl get pods -n kube-system -l k8s.kuboard.cn/name=kuboard -w
# 检查 Service 是否就绪
kubectl get svc -n kube-system | grep kuboard三、创建访问账户
1. 创建管理员账户
bash
# 通用命令
kubectl apply -f https://kuboard.cn/install-script/kuboard-user.yaml2. 创建只读账户(可选)
bash
# 通用命令
kubectl apply -f https://kuboard.cn/install-script/kuboard-viewer.yaml3. 验证账户创建
bash
# 检查 ServiceAccount 和 Secret
kubectl -n kube-system get serviceaccount | grep kuboard
kubectl -n kube-system get secret | grep kuboard四、获取访问 Token
1. 管理员 Token(最高权限)
bash
# Linux/macOS
kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d
# Windows PowerShell
($(kubectl -n kube-system get secret -o json | ConvertFrom-Json).items | Where-Object { $_.metadata.name -match "kuboard-user" }).data.token | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($_)) }2. 只读 Token(监控权限)
bash
# Linux/macOS
kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-viewer | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d
# Windows PowerShell
($(kubectl -n kube-system get secret -o json | ConvertFrom-Json).items | Where-Object { $_.metadata.name -match "kuboard-viewer" }).data.token | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($_)) }五、访问 Kuboard
1. 临时访问(开发测试)
bash
# 启动端口转发(通用命令)
kubectl port-forward service/kuboard 8080:80 -n kube-system• 浏览器访问:http://localhost:8080 • 登录方式:选择 Token,粘贴上一步获取的 Token
2. 生产环境访问(Ingress)
yaml
# ingress.yaml 示例(需提前安装 Ingress Controller)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kuboard-ingress
namespace: kube-system
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
tls:
- hosts:
- kuboard.yourdomain.com # 替换为你的域名
secretName: kuboard-tls # 提前创建 TLS 证书
rules:
- host: kuboard.yourdomain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kuboard
port:
number: 80六、卸载 Kuboard
bash
# 删除 Kuboard 主控制器
kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml
# 删除 Metrics Server(可选)
kubectl delete -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml
# 删除账户和 Token
kubectl delete -f https://kuboard.cn/install-script/kuboard-user.yaml
kubectl delete -f https://kuboard.cn/install-script/kuboard-viewer.yaml七、常见问题
1. Token 获取失败
• 原因:Secret 未生成或名称不匹配
• 解决:
bash
# 重新创建账户
kubectl delete -f https://kuboard.cn/install-script/kuboard-user.yaml
kubectl apply -f https://kuboard.cn/install-script/kuboard-user.yaml2. 无法访问 Dashboard
• 原因:端口冲突或 Pod 未就绪
• 解决:
bash
# 检查 Pod 状态
kubectl get pods -n kube-system -l k8s.kuboard.cn/name=kuboard
# 更换端口
kubectl port-forward service/kuboard 8081:80 -n kube-system3. 国内服务器加速
bash
# 使用阿里云镜像
kubectl apply -f https://registry.aliyuncs.com/kuboard/kuboard.yaml八、安全建议
- 生产环境必须启用 HTTPS
- 限制访问 IP(通过 NetworkPolicy 或 Ingress 白名单)
- 定期轮换 Token(默认有效期 24 小时)