一. 背景知识
通过可视化管理后台, 管理 Kubernetes
会更方便. 除了官方的Dashboard之外, 还有许多其他第三方开源的管理后. 其中 Kuboard
是一款比较优秀的国内开源管理后台, 相比于 Kubernetes Dashboard:
- 无需手工编写 YAML 文件
- 微服务参考架构
- 上下文相关的监控
-
场景化的设计
- 导出配置
- 导入配置
另外 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主界面.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。