Kubernetes(k8s) Web-UI界面(二):部署和访问Kuboard

一.系统环境

本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。

服务器版本 kuboard版本 docker软件版本 Kubernetes(k8s)集群版本 CPU架构
CentOS Linux release 7.4.1708 (Core) v2.0.5.5 Docker version 20.10.12 v1.21.9 x86_64

Kubernetes集群架构:k8scloude1作为master节点,k8scloude2,k8scloude3作为worker节点。

服务器 操作系统版本 CPU架构 进程 功能描述
k8scloude1/192.168.110.130 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico k8s master节点
k8scloude2/192.168.110.129 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker节点
k8scloude3/192.168.110.128 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker节点

二.前言

Kuboard是一个基于Web的Kubernetes集群管理工具,它提供了直观的用户界面来帮助您监控和管理集群中的各种资源。通过Kuboard,您可以轻松地查看集群的状态、调整资源配置、创建和管理应用程序等。

使用Kuboard的前提是已经有一套可以正常运行的Kubernetes集群,关于Kubernetes(k8s)集群的安装部署,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html。

三.Kuboard简介

Kuboard 是一款专为 Kubernetes 设计的免费管理界面,兼容 Kubernetes 版本 1.13 及以上。Kuboard 每周发布一个 beta 版本,最长每月发布一个正式版本,经过两年的不断迭代和优化,已经具备多集群管理、权限管理、监控套件、日志套件等丰富的功能,并且有 1000+ 的企业将 Kuboard 应用于其生产环境。Kuboard 自 2019年8月发布第一个版本以来,得到了众多用户的认可。

Kuboard为您提供了丰富的功能,使您能够更轻松地管理和监控Kubernetes集群。以下是Kuboard提供的一些主要特性:

  • 仪表板视图:以图形化方式展示集群的概览信息,包括节点状态、Pod运行情况、资源使用等。
  • 应用管理:支持Deployment、StatefulSet、DaemonSet等常见应用程序对象的创建、部署和管理。
  • 日志和事件查看:提供实时查看容器日志和事件的功能,方便故障排查和监控。
  • 监控和警报:集成Prometheus和Grafana,显示集群和应用程序的监控指标,并支持设置警报规则。
  • 配置管理:允许您在Web界面中修改和管理ConfigMap和Secret等配置资源。

另外一款官方的kubernetes(k8s) Web-UI界面是Dashboard,详细内容请查看博客《Kubernetes(k8s) Web-UI界面(一):部署和访问仪表板(Dashboard) 》。

四.部署Kuboard

下载kuboard安装yaml文件。

[root@k8scloude1 ~]# cd safe/

[root@k8scloude1 safe]# wget https://kuboard.cn/install-script/kuboard.yaml
   
[root@k8scloude1 safe]# ls kuboard.yaml 
kuboard.yaml

查看kuboard所需的镜像。

[root@k8scloude1 safe]# grep image kuboard.yaml 
        image: eipwork/kuboard:latest
        imagePullPolicy: Always

在所有节点下载kuboard镜像。

[root@k8scloude1 safe]# docker pull eipwork/kuboard:latest

[root@k8scloude2 ~]# docker pull eipwork/kuboard:latest

[root@k8scloude3 ~]# docker pull eipwork/kuboard:latest

修改kuboard.yaml文件, 修改镜像下载策略为IfNotPresent。

[root@k8scloude1 safe]# vim kuboard.yaml 

[root@k8scloude1 safe]# grep image kuboard.yaml 
        image: eipwork/kuboard:latest
        imagePullPolicy: IfNotPresent

安装kuboard,serviceaccount/kuboard-user created表明kuboard是以sa账号kuboard-user运行的,关于服务账号Service Accounts详细内容,请查看博客《Kubernetes(k8s)服务账号Service Accounts》。

[root@k8scloude1 safe]# kubectl apply -f kuboard.yaml 
deployment.apps/kuboard created
service/kuboard created
serviceaccount/kuboard-user created
clusterrolebinding.rbac.authorization.k8s.io/kuboard-user created
serviceaccount/kuboard-viewer created
clusterrolebinding.rbac.authorization.k8s.io/kuboard-viewer created

五.访问kuboard

查看有关kuboard的所有资源,可以看到service的类型为NodePort,端口为32567,浏览器访问节点IP:32567,即可访问kuboard web界面,关于svc的详细内容,请查看博客《Kubernetes(k8s)服务service:service的发现和service的发布》。

[root@k8scloude1 safe]# kubectl get all -n kube-system | grep kuboard
pod/kuboard-78dccb7d9f-pgbdx                   1/1     Running   0          119s
service/kuboard                              NodePort    10.102.224.182   <none>        80:32567/TCP             119s
deployment.apps/kuboard                   1/1     1            1           119s
replicaset.apps/kuboard-78dccb7d9f                   1         1         1       119s

获取kuboard登录的token。

[root@k8scloude1 safe]# 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)
eyJhbGciOiJSUzI1NiIsImtpZCI6InJJaUNYYXpKanA2Qkg4SW4yemE1MVM4MTJxeXpVbV9sQkk5RF9CaVpLZlEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tNXFxZjIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTMxYWViYTItNDE1NC00YmExLTk2YjAtMDQ0MjA2ZmQwM2E1Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.j2W8442guWsKZzrF78Gp1TeaAMb8ZAGFA_eqZipJGvUQqgPpHEGsXTEZsaTzHMuMgbBGSCIybDrSccKyxTWlkS40XhV-aeRqAIeJwPwTzLzifTq-6coQsNFnytY47oQfgINXNu1eNx32bZSVE015fnCvFUZ7-QLBHtZNBWKSNZFLxszErbXuBH9qrWfDOLXiu3ybuHbtBgWqu6qKCxZImo4mgYV4nno83234cjDak3QtaJs3kcp1dN0xzdQxjPvFusDREtbbBQpN08XT2BIJMZrROQr7H3gZtT2a7BCYDnt3nuq-YzVqYVmLxWRu0lVu1ApLeneEKGt82htE002Ryw

浏览器访问节点IP:32567,即可访问kuboard web界面,浏览器访问http://192.168.110.130:32567/,选择服务账号-->Token登录。

image-20230626152651582

输入token进行登录。

image-20230626152735082

登录进来之后可以看到集群概览了。

image-20230626152818202

六.总结

本篇博客介绍了如何部署和访问Kubernetes Web界面 Kuboard。通过安装Kuboard,您可以方便地管理和监控Kubernetes集群,并进行应用程序的配置和操作。

Kuboard提供了丰富的功能,如仪表板视图、应用管理、日志和事件查看、监控和警报、配置管理等,使您能够更轻松地管理和监控集群中的资源。

七.附加信息

  • Kuboard是一个强大的Kubernetes集群管理工具,但在生产环境中要小心谨慎地使用,并且合理限制访问权限。
  • 在使用Kuboard之前,建议熟悉Kubernetes的基本概念和操作,以便更好地利用Kuboard进行管理和监控。
  • 请确保您的Kubernetes版本与本文档中提到的版本匹配,以避免可能的不兼容性问题。
posted @ 2023-06-30 03:34  人生的哲理  阅读(2560)  评论(1编辑  收藏  举报