Skip to content

Kuboard 完整安装与使用指南(跨平台版)


一、安装准备

  1. 确保已安装以下工具: • kubectl(v1.16+) • Kubernetes 集群(Minikube/Kubeadm/EKS/AKS 等) • Helm(可选,仅需安装 Metrics Server 时使用)

  2. 网络要求: • 能访问 kuboard.cn 域名(国内服务器可直接访问,海外服务器可替换为阿里云镜像)


二、安装 Kuboard

1. 安装 Kuboard 主控制器

bash
# Linux/macOS/Windows 通用命令
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml

2. 安装 Metrics Server(监控组件)

bash
# 通用安装命令
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml

3. 验证安装状态

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.yaml

2. 创建只读账户(可选)

bash
# 通用命令
kubectl apply -f https://kuboard.cn/install-script/kuboard-viewer.yaml

3. 验证账户创建

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.yaml

2. 无法访问 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-system

3. 国内服务器加速

bash
# 使用阿里云镜像
kubectl apply -f https://registry.aliyuncs.com/kuboard/kuboard.yaml

八、安全建议

  1. 生产环境必须启用 HTTPS
  2. 限制访问 IP(通过 NetworkPolicy 或 Ingress 白名单)
  3. 定期轮换 Token(默认有效期 24 小时)

✨ 网站运行时间: 3年11月15天 ❤️ 道阻且长,行则将至 - 微信号: heikedreamer