一. 背景知识

通过可视化管理后台, 管理 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。

其中管理员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.

登录界面:
image.png

登录成功, 主界面:
image.png

4.2.2 Port-forward方式

这种方式需要先完成 从客户端电脑远程管理 Kubernetes 的配置. 然后在客户端电脑中执行如下命令:

$ kubectl port-forward service/kuboard 8080:80 -n kube-system

转发启动后, 在浏览器打开链接 (使用 kubectl 所在机器的IP地址)http://localhost:8080.

输入前一步骤中获得的 token,可进入Kuboard主界面.

参考


facelessman
106 声望9 粉丝

Valar Morghulis