目前Kubernetes可视化工具如雨后春笋,数不胜数。接下来介绍一款非常美观的可视化工具

Kuboard免费版只有3个集群的权限,企业使用需要付费,出于学习的目标可以自己玩玩。kuboard外观比较美观,虽然没啥卵用。但是有集成ldap gitlab等相关功能,根据自己需求考虑即可,本文只是介绍玩法

kubesphere可视化界面部署项目流程 kubernetes可视化工具_名称空间

 Kuboard介绍

kubesphere可视化界面部署项目流程 kubernetes可视化工具_名称空间_02

Kuboard 是一款专为 Kubernetes 设计的免费管理界面,兼容 Kubernetes 版本 1.13 及以上。Kuboard 每周发布一个 beta 版本,最长每月发布一个正式版本,经过两年的不断迭代和优化,已经具备多集群管理、权限管理、监控套件、日志套件等丰富的功能

特点

  • 多种认证方式
    Kuboard 可以使用内建用户库、gitlab / github 单点登录或者 LDAP 用户库进行认证,避免管理员将 ServiceAccount 的 Token 分发给普通用户而造成的麻烦。使用内建用户库时,管理员可以配置用户的密码策略、密码过期时间等安全设置
  • 多集群管理
    管理员可以将多个 Kubernetes 集群导入到 Kuboard 中,并且通过权限控制,将不同集群/名称空间的权限分配给指定的用户或用户组。
  • 微服务分层展示
    在 Kuboard 的名称空间概要页中,以经典的微服务分层方式将工作负载划分到不同的分层,更加直观地展示微服务架构的结构,并且可以为每一个名称空间自定义名称空间布局。
  • 工作负载的直观展示
    Kuboard 中将 Deployment 的历史版本、所属的 Pod 列表、Pod 的关联事件、容器信息合理地组织在同一个页面中,可以帮助用户最快速的诊断问题和执行各种相关操作。
  • 工作负载编辑
    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 中,可以方便地对接 NFS、CephFS 等常用存储类型,并且支持对 CephFS 类型的存储卷声明执行扩容和快照操作。
  • 丰富的互操作性
    可以提供许多通常只在 kubectl 命令行界面中才提供的互操作手段,例如:
    1.Top Nodes / Top Pods
    2.容器的日志、终端
    3.容器的文件浏览器(支持从容器中下载文件、上传文件到容器)
    4.KuboardProxy(在浏览器中就可以提供 kubectl proxy 的功能)
  • 套件扩展
    1.资源层监控套件,基于 Prometheus / Grafana 提供 K8S 集群的监控能力,可以监控集群、节点、工作负载、容器组等各个级别对象的 CPU、内存、网络、磁盘等资源的使用情况;
    2.日志聚合套件,基于 Grafana / Loki / Promtail 实现日志聚合;
    3.存储卷浏览器,查看和操作存储卷中的内容;
  • 告警配置
    可以通过界面直接配置资源层监控套件发送告警消息:
    1.支持邮件、微信发送告警消息;
    2.支持告警路由配置;
    3.支持告警规则配置等;
  • 操作审计
    Kuboard 支持操作审计的功能:
    1.审计用户通过 Kuboard 界面和 Kuboard API 执行的操作;
    2.自定义审计规则;

官方文档地址:Kuboard_Kubernetes教程_K8S安装_管理界面 安装文档地址:安装 Kubernetes 多集群管理工具 - Kuboard v3 | Kuboard

Kuboard安装

目前Kuboard兼容的版本如下

kubesphere可视化界面部署项目流程 kubernetes可视化工具_Docker_03

同样部署方式支持Docker和Kubernetes,并且也有和gitlab、GitHub集成版本

  • Docker部署
  • Kubernetes部署

用户认证支持以下三种

  • 内置用户
  • gitlab
  • github
  • Ldap

Docker部署方式是可以和Kubernetes不在同一个节点上,Kubernetes就是在同一个节点进行部署

目前官方推荐使用Docker部署,通过外网Kuboard链接到Kubernetes。并且使用内置用户的方式
安装 Kuboard v3 - 内建用户库 | Kuboard

我这里使用腾讯云的服务器部署Kuboard

mkdir -p /data/kuboard-data  #创建数据存储目录
docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 17070:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://test.frps.cn:17070" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /data/kuboard-data:/data \
  eipwork/kuboard:v3
#我这里将80端口更换为其它端口
#这里的内网IP同样可以写外网IP,也可以写域名
#将Kuboard Agent Server的端口10081/tcp映射到宿主机的10081端口

访问地址: test.frps.cn:17070
默认用户名:admin
默认密码:Kuboard123

kubesphere可视化界面部署项目流程 kubernetes可视化工具_github_04

 接下来我们添加集群

kubesphere可视化界面部署项目流程 kubernetes可视化工具_Docker_05

 连接kube-apiserver有两种方式,一种是安装agent,另外一种是直接使用.kubeconfig连接。那我这里就选择直接通过http的方式来连接

kubesphere可视化界面部署项目流程 kubernetes可视化工具_名称空间_06

 我这里已经将家里的apiserver映射到公网

[root@k8s-01 ~]# cat .kube/config

kubesphere可视化界面部署项目流程 kubernetes可视化工具_github_07

 添加完成后我们可以看到已经就绪了

kubesphere可视化界面部署项目流程 kubernetes可视化工具_名称空间_08

 这里我们可以通过使用kuboard-admin 权限进入到集群

kubesphere可视化界面部署项目流程 kubernetes可视化工具_Docker_09

具体使用就可以看一下官方文档,不是很难 

kubesphere可视化界面部署项目流程 kubernetes可视化工具_运维_10

 后续使用可以参考官方文档: 通过反向代理访问 Kuboard | Kuboard