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登录。
输入token进行登录。
登录进来之后可以看到集群概览了。
六.总结
本篇博客介绍了如何部署和访问Kubernetes Web界面 Kuboard。通过安装Kuboard,您可以方便地管理和监控Kubernetes集群,并进行应用程序的配置和操作。
Kuboard提供了丰富的功能,如仪表板视图、应用管理、日志和事件查看、监控和警报、配置管理等,使您能够更轻松地管理和监控集群中的资源。
七.附加信息
- Kuboard是一个强大的Kubernetes集群管理工具,但在生产环境中要小心谨慎地使用,并且合理限制访问权限。
- 在使用Kuboard之前,建议熟悉Kubernetes的基本概念和操作,以便更好地利用Kuboard进行管理和监控。
- 请确保您的Kubernetes版本与本文档中提到的版本匹配,以避免可能的不兼容性问题。