一. 背景知识
通过可视化管理后台, 管理 Kubernetes
会更方便. 除了官方的 Dashboard 之外, 还有许多其他第三方开源的管理后. 其中 Kuboard
是一款比较优秀的国内开源管理后台. 相比于 Kubernetes Dashboard, Kuboard
更倾向于微服务配置.
Kuboard
具有以下特性:
- GitLab/GitHub 单点登录集成
- RBAC 权限管理
- 工作负载编辑器
- 名称空间导出 / 导入
二. 前提条件
安装 Kuboard 时, 我们已经有一个 Kubernetes 集群. 以下任何形式安装的集群都可以:
- kubeadm 安装(或者基于 kubeadm 的衍生工具, 如 Sealos 等);
- 二进制安装;
- 阿里云、腾讯云等公有云托管集群;
- 其他。
三. 安装
通过以下命令:
$ kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
$ kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml
查看 Kuboard 运行状态:
$ kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
NAME READY STATUS RESTARTS AGE
kuboard-7bb89b4cc4-p5l2p 1/1 Running 0 179m
如果为 Running, 表示已成功启动. 否则使用 kubectl describe
查看失败原因.
墙内很有可能存在无法 Pulling image 的问题, 参考: 为什么我不能获取到镜像,ImagePullBackoff.
也可以使用 daocloud
工具先手动 pull
下来:
$ dao pull eipwork/kuboard:latest
四. 访问
4.1 获取 token
可以获得管理员用户、只读用户的 Token。
- 默认情况下,可以使用 ServiceAccount 的 Token 登录 Kuboard
- 还可以 使用 GitLab/GitHub 账号登录 Kuboard/Kubectl
- 也可以 为用户授权
其中管理员 Token 拥有 ClusterAdmin 的权限,可以执行所有操作.
# 在第一个 Master 节点上执行此命令
echo $(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)
取输出信息中 token 字段:
eyJhbGciOiJSUzI1NiIsImtpZC......YTwFI8Ba9LleSYbCi4o0k74568KcN_w
4.2 登录 & 访问
可以通过 NodePort、Port-forward 两种方式当中的任意一种访问 Kuboard.
4.2.1 NodePort 方式
Kuboard Service 使用了 NodePort 的方式暴露服务,NodePort 为 32567;所以可以按如下方式访问 Kuboard: http://<server_ip>:32567.
登录界面:
登录成功, 主界面:
4.2.2 Port-forward 方式
这种方式需要先完成 从客户端电脑远程管理 Kubernetes 的配置. 然后在客户端电脑中执行如下命令:
$ kubectl port-forward service/kuboard 8080:80 -n kube-system
转发启动后, 在浏览器打开链接(使用 kubectl 所在机器的 IP 地址)http://localhost:8080.
输入前一步骤中获得的 token,可进入 Kuboard 主界面.
参考
- https://kuboard.cn/install/install-dashboard.html# 在线体验