# 安装 Kuboard v2
# 在线体验
Kuboard 是 Kubernetes 的一款图形化管理界面。
# Kuboard v3 版本介绍
Kuboard v3.0 已经正式发布,相较于 Kuboard v2.0.x, Kuboard v3 最大的特点是支持多 Kubernetes 集群管理,同时,在各个方面都比 v2.0.x 有了很大的改进。 建议您选择 Kuboard v3。
Kuboard v2.0.x 将进入长期维护阶段,如果碰到问题,用户仍然可以在群里找群主解决问题。如果您计划升级到 Kuboard v3,请参考 从 v2.0.x 升级到 v3.0.x
如果您希望继续安装 Kuboard v2.0.x,请继续阅读本文后面的内容。
# 前提
安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:
- kubeadm 安装(或者基于 kubeadm 的衍生工具,如 Sealos 等);
- 二进制安装;
- 阿里云、腾讯云等公有云托管集群;
- 其他。
如果没有 Kubernetes 集群:
- 初学者,请参考
- 用于生产,请参考 安装 Kubernetes 高可用
# 兼容性
Kubernetes 版本 | Kuboard 版本 | 兼容性 | 说明 |
---|---|---|---|
v1.20 | v2.0.x | 😄 | 已验证 |
v1.19 | v2.0.x | 😄 | 已验证 |
v1.18 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.17 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.16 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.15 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.14 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.13 | v1.0.x, v2.0.x | 😄 | 已验证 |
v1.12 | v1.0.x, v2.0.x | 😐 | Kubernetes Api v1.12 不支持 dryRun, Kuboard 不支持 Kubernetes v1.12 |
v1.11 | v1.0.x, v2.0.x | 😐 | Kuboard 不支持 Kubernetes v1.11 |
# 安装
安装 Kuboard。
如果您参考 https://kuboard.cn 网站上提供的 Kubernetes 安装文档,可在 master 节点上执行以下命令。
- 如果您已经安装了 Kuboard v1.0.x,请参考 了解如何从 v1.0.x 升级到 Kuboard v2.0.x
查看 Kuboard 运行状态:
kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
输出结果如下所示:
NAME READY STATUS RESTARTS AGE
kuboard-54c9c4f6cb-6lf88 1/1 Running 0 45s
2
# 获取Token
您可以获得管理员用户、只读用户的Token。
- 默认情况下,您可以使用 ServiceAccount 的 Token 登录 Kuboard
- 您还可以 使用 GitLab/GitHub 账号登录 Kuboard/Kubectl
- 您也可以 为用户授权
拥有的权限
- 此Token拥有 ClusterAdmin 的权限,可以执行所有操作
执行命令
# 如果您参考 www.kuboard.cn 提供的文档安装 Kuberenetes,可在第一个 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)
2
输出
取输出信息中 token 字段
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w
# 访问Kuboard
您可以通过NodePort、port-forward 两种方式当中的任意一种访问 Kuboard
Kuboard Service 使用了 NodePort 的方式暴露服务,NodePort 为 32567;您可以按如下方式访问 Kuboard。
http://任意一个Worker节点的IP地址:32567/
输入前一步骤中获得的 token,可进入 Kuboard 集群概览页
TIP
- 如果您使用的是阿里云、腾讯云等,请在其安全组设置里开放 worker 节点 32567 端口的入站访问,
- 您也可以修改 Kuboard.yaml 文件,使用自己定义的 NodePort 端口号
# 为开发测试人员授权
运维团队搭建好 Kubernetes 之后,需要授权开发/测试团队的成员执行某些特定的操作,例如更新镜像版本、查看容器日志、进入容器终端、通过Proxy访问接口等,以便开发测试人员可以自行完成日常的测试联调等任务。使用 Kubernetes + Kuboard 的团队可能以如下几种形式授权开发、测试人员访问:
- 为开发团队、测试团队创建各自的 ServiceAccount,并授权其访问指定的名称空间,请参考:
- 与自建的 gitlab / github 实现单点登录,并授权 gitlab / github 中的 group/user 访问指定的名称空间,请参考 Kubernetes Authentication 安装向导;
- 与自研的 PaaS 平台整合,免登录访问 Kuboard 提供的控制台界面、日志界面,请参考 免登录访问;
# 免登陆访问
可以通过查询参数中的 k8sToken 字段直接登录系统,无需在登录界面输入 Token。
# 直接访问集群概览页
如需要无登录访问集群概览页面,可使用如下格式的 url 进入:
http://任意一个Worker节点的IP地址:32567/dashboard?k8sToken=yourtoken
其他界面
其他任意 Kuboard 界面同理,只需要增加 k8sToken 作为查询参数,即可跳过输入 Token 的步骤
# 直接访问终端界面
如果想要无登录直接访问容器组的控制台,可使用如下格式的 url 进入:
http://任意一个Worker节点的IP地址:32567/console/yournamespace/yourpod?containerName=yourcontainer&shell=bash&k8sToken=yourtoken
其中,shell 参数可选取值有:
bash
,使用 /bin/bash 作为 shellsh
, 使用 /bin/sh 作为 shell
# 下一步
🎉 🎉 🎉
使用 Kuboard 工作负载编辑器 创建第一个应用 (10分钟)
尝试 Kuboard 设计的其他 example 使用 Kuboard