mirror of https://github.com/easzlab/kubeasz.git
parent
1cc2ac039f
commit
32b01d5a4d
|
@ -2,10 +2,9 @@
|
||||||
|
|
||||||
## Kuboard 介绍
|
## Kuboard 介绍
|
||||||
|
|
||||||
Kuboard 官方文档请参考 [https://kuboard.cn](https://kuboard.cn)
|
|
||||||
|
|
||||||
Kuboard 是一款免费的 Kubernetes 管理工具,提供了丰富的功能:
|
Kuboard 是一款免费的 Kubernetes 管理工具,提供了丰富的功能:
|
||||||
|
|
||||||
|
* Kubernetes 多集群管理
|
||||||
* Kubernetes 基本管理功能
|
* Kubernetes 基本管理功能
|
||||||
* 节点管理
|
* 节点管理
|
||||||
* 名称空间管理
|
* 名称空间管理
|
||||||
|
@ -33,79 +32,92 @@ Kuboard 是一款免费的 Kubernetes 管理工具,提供了丰富的功能:
|
||||||
* Kuboard 自定义名称空间布局
|
* Kuboard 自定义名称空间布局
|
||||||
* Kuboard 中英文语言包
|
* Kuboard 中英文语言包
|
||||||
|
|
||||||
## 安装前提
|
<p>
|
||||||
|
<a aria-label="github" href="https://starchart.cc/eip-work/kuboard-press" target="_blank">
|
||||||
|
<img src="https://badgen.net/github/stars/eip-work/kuboard-press?label=github stars"/>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
Kuboard 只依赖于 Kubernetes API,您可以在多种情况下使用 Kuboard:
|
<a href="https://starchart.cc/eip-work/kuboard-press" target="_blank">
|
||||||
* 使用 kubeadm 安装的 Kubernetes 集群
|
<img src="https://starchart.cc/eip-work/kuboard-press.svg" alt="Kubernetes教程_Kuboard_Github_Star" style="height: 320px; width: 540px;">
|
||||||
* 使用二进制方式安装的 Kubernetes 集群
|
</a>
|
||||||
* 阿里云/腾讯云等云供应商托管的 Kubernetes 集群
|
|
||||||
|
|
||||||
Kuboard 对 Kubernetes 的版本兼容性,如下表所示:
|
点击这里可以查看 [Kuboard 的安装文档](https://kuboard.cn/install/v3/install.html)
|
||||||
|
|
||||||
| Kubernetes 版本 | Kuboard 版本 | 兼容性 | 说明 |
|
## 在线演示
|
||||||
| --------------- | -------------- | ------ | ------------------------------------------------------------ |
|
|
||||||
| v1.18 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
<div>
|
||||||
| v1.17 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
在线演示环境中,您具备 <span style="color: red; font-weight: bold">只读</span> 权限,只能体验 Kuboard 的一部分功能。<br/>
|
||||||
| v1.16 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
</div>
|
||||||
| v1.15 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
<div style="padding: 10px; border: 1px solid #eee; border-radius: 10px; margin: 10px 0px; background-color: #fafafa;">
|
||||||
| v1.14 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
<a href="http://demo.kuboard.cn:10080" target="_blank">http://demo.kuboard.cn:10080</a> <br/>
|
||||||
| v1.13 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😄</span> | 已验证 |
|
<div style="width: 60px; display: inline-block; margin-top: 5px;">用 户</div>
|
||||||
| v1.12 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😐</span> | Kubernetes Api v1.12 不支持 dryRun,<br />Kuboard 不支持 Kubernetes v1.12 |
|
demo <br/>
|
||||||
| v1.11 | v1.0.x, v2.0.x | <span style="font-size: 24px;">😐</span> | Kuboard 不支持 Kubernetes v1.11 |
|
<div style="width: 60px; display: inline-block;">密 码</div>
|
||||||
|
demo123
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## 特点介绍
|
||||||
|
|
||||||
|
相较于 Kubernetes Dashboard 等其他 Kubernetes 管理界面,Kuboard 的主要特点有:
|
||||||
|
|
||||||
|
* 多种认证方式
|
||||||
|
|
||||||
|
Kuboard 可以使用内建用户库、gitlab / github 单点登录或者 LDAP 用户库进行认证,避免管理员将 ServiceAccount 的 Token 分发给普通用户而造成的麻烦。使用内建用户库时,管理员可以配置用户的密码策略、密码过期时间等安全设置。
|
||||||
|
|
||||||
|
![Kuboard登录界面](https://kuboard.cn/images/intro.assets/image-20210405162940278.png)
|
||||||
|
|
||||||
|
* 多集群管理
|
||||||
|
|
||||||
|
管理员可以将多个 Kubernetes 集群导入到 Kuboard 中,并且通过权限控制,将不同集群/名称空间的权限分配给指定的用户或用户组。
|
||||||
|
|
||||||
|
![Kuboard集群列表页](https://kuboard.cn/images/intro.assets/image-20210405164029151.png)
|
||||||
|
|
||||||
|
* 微服务分层展示
|
||||||
|
|
||||||
|
在 Kuboard 的名称空间概要页中,以经典的微服务分层方式将工作负载划分到不同的分层,更加直观地展示微服务架构的结构,并且可以为每一个名称空间自定义名称空间布局。
|
||||||
|
|
||||||
|
![Kuboard-微服务分层](https://kuboard.cn/images/intro.assets/image-20210405164532452.png)
|
||||||
|
|
||||||
|
* 工作负载的直观展示
|
||||||
|
|
||||||
|
Kuboard 中将 Deployment 的历史版本、所属的 Pod 列表、Pod 的关联事件、容器信息合理地组织在同一个页面中,可以帮助用户最快速的诊断问题和执行各种相关操作。
|
||||||
|
|
||||||
|
![Kuboard-工作负载详情](https://kuboard.cn/images/intro.assets/image-20210405180147614.png)
|
||||||
|
|
||||||
|
* 工作负载编辑
|
||||||
|
|
||||||
|
Kuboard 提供了图形化的工作负载编辑界面,用户无需陷入繁琐的 YAML 文件细节中,即可轻松完成对容器的编排任务。支持的 Kubernetes 对象类型包括:Node、Namespace、Deployment、StatefulSet、DaemonSet、Secret、ConfigMap、Service、Ingress、StorageClass、PersistentVolumeClaim、LimitRange、ResourceQuota、ServiceAccount、Role、RoleBinding、ClusterRole、ClusterRoleBinding、CustomResourceDefinition、CustomResource 等各类常用 Kubernetes 对象,
|
||||||
|
|
||||||
|
![Kuboard-工作负载编辑](https://kuboard.cn/images/intro.assets/image-20210405180800712.png)
|
||||||
|
|
||||||
|
* 存储类型支持
|
||||||
|
|
||||||
|
在 Kuboard 中,可以方便地对接 NFS、CephFS 等常用存储类型,并且支持对 CephFS 类型的存储卷声明执行扩容和快照操作。
|
||||||
|
|
||||||
|
![Kuboard-存储类](https://kuboard.cn/images/intro.assets/image-20210405181928653.png)
|
||||||
|
|
||||||
|
* 丰富的互操作性
|
||||||
|
|
||||||
|
可以提供许多通常只在 `kubectl` 命令行界面中才提供的互操作手段,例如:
|
||||||
|
|
||||||
|
* Top Nodes / Top Pods
|
||||||
|
* 容器的日志、终端
|
||||||
|
* 容器的文件浏览器(支持从容器中下载文件、上传文件到容器)
|
||||||
|
* KuboardProxy(在浏览器中就可以提供 `kubectl proxy` 的功能)
|
||||||
|
|
||||||
|
![Kuboard-文件浏览器](https://kuboard.cn/images/intro.assets/image-20210405182805543.png)
|
||||||
|
|
||||||
|
* 套件扩展
|
||||||
|
|
||||||
|
Kuboard 提供了必要的套件库,使得用户可以根据自己的需要扩展集群的管理能力。当前提供的套件有:
|
||||||
|
|
||||||
|
* 资源层监控套件,基于 Prometheus / Grafana 提供 K8S 集群的监控能力,可以监控集群、节点、工作负载、容器组等各个级别对象的 CPU、内存、网络、磁盘等资源的使用情况;
|
||||||
|
* 日志聚合套件,基于 Grafana / Loki / Promtail 实现日志聚合;
|
||||||
|
* 存储卷浏览器,查看和操作存储卷中的内容;
|
||||||
|
|
||||||
|
![Kuboard-套件扩展](https://kuboard.cn/images/intro.assets/image-20210405183652378.png)
|
||||||
|
|
||||||
|
|
||||||
## 安装
|
|
||||||
|
|
||||||
### 安装 Kuboard。
|
访问 Kuboard 网站 https://kuboard.cn 可以加入 Kuboard 社群,并获得帮助。
|
||||||
|
|
||||||
``` sh
|
|
||||||
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
|
|
||||||
|
|
||||||
``` sh
|
|
||||||
kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml
|
|
||||||
kubectl delete -f https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 获取 Token
|
|
||||||
|
|
||||||
您可以获得管理员用户、只读用户的Token
|
|
||||||
|
|
||||||
### 管理员用户
|
|
||||||
|
|
||||||
**拥有的权限**
|
|
||||||
|
|
||||||
* 此Token拥有 ClusterAdmin 的权限,可以执行所有操作
|
|
||||||
|
|
||||||
**执行命令**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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 字段
|
|
||||||
```{13}
|
|
||||||
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## 访问 Kuboard
|
|
||||||
|
|
||||||
您可以通过NodePort、port-forward 两种方式当中的任意一种访问 Kuboard
|
|
||||||
|
|
||||||
### 通过NodePort访问
|
|
||||||
|
|
||||||
Kuboard Service 使用了 NodePort 的方式暴露服务,NodePort 为 32567;您可以按如下方式访问 Kuboard。
|
|
||||||
|
|
||||||
`
|
|
||||||
http://任意一个Worker节点的IP地址:32567/
|
|
||||||
`
|
|
||||||
|
|
||||||
输入前一步骤中获得的 token,可进入 **Kubernetes 集群概览**,界面如下所示:
|
|
||||||
|
|
||||||
![Kuboard-HomePage](https://kuboard.cn/images/preview.png)
|
|
||||||
|
|
Loading…
Reference in New Issue