云原生|kubernetes |部署k8s图形化管理组件 kuboard v3

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 云原生|kubernetes |部署k8s图形化管理组件 kuboard v3

前言


kubernetes的图形化管理工具是非常多的,比较常用的比如官方的kubernetes dashboard,青云的kubesphere,私有化部署的rancher等等。官方的dashboard比较中规中矩,你不能说它差,但也可以说没有什么特别亮眼的地方,kubesphere这个玩意是比较重型的图形化工具,部署以及维护会比较费劲,rancher对资源的占用比较高。

那么,kuboard这个图形化管理界面可能会适用于大部分人了,Kuboard 完全采用场景化的设计,操作过程更适合人们的思考方式。例如,集群概览的展示方式、名称空间的展示方式。

部署

kuboard这个图形化工具部署起来也非常的简单,也就几条命令就可以了,不需要太多的技巧:

wget https://addons.kuboard.cn/kuboard/kuboard-v3.yaml --no-check-certificate
kubectl apply  -f kuboard-v3.yaml 

在apply文件之前,需要给node打上标签:

查询node的名称

[root@master ~]# kubectl get no
NAME         STATUS   ROLES    AGE   VERSION
k8s-master   Ready    <none>   24d   v1.18.3
k8s-node1    Ready    <none>   24d   v1.18.3
k8s-node2    Ready    <none>   24d   v1.18.3

现有三个节点,就全部打上etcd标签,标签打完后就可以apply 文件了:

 kubectl label nodes k8s-master  k8s.kuboard.cn/role=etcd
 kubectl label nodes k8s-node1  k8s.kuboard.cn/role=etcd
 kubectl label nodes k8s-node2  k8s.kuboard.cn/role=etcd

关于标签的简要说明


kuboard-v3.yaml 这个文件内有做nodeselectorterms,也就是节点选择,相关代码如下:

    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: node-role.kubernetes.io/master
                    operator: Exists
              - matchExpressions:
                  - key: node-role.kubernetes.io/control-plane
                    operator: Exists
              - matchExpressions:
                  - key: k8s.kuboard.cn/role
                    operator: In
                    values:
                      - etcd

稍等片刻后,查看kuboard这个namespace里的pod状态,running即可。

[root@master ~]# k get po -n kuboard -owide
NAME                               READY   STATUS    RESTARTS   AGE    IP               NODE         NOMINATED NODE   READINESS GATES
kuboard-etcd-4nsqv                 1/1     Running   0          105m   192.168.217.17   k8s-node1    <none>           <none>
kuboard-etcd-spfdc                 1/1     Running   0          105m   192.168.217.16   k8s-master   <none>           <none>
kuboard-etcd-wj2bs                 1/1     Running   0          105m   192.168.217.18   k8s-node2    <none>           <none>
kuboard-v3-695f6bd686-p9pwb        1/1     Running   0          105m   10.244.1.28      k8s-node1    <none>           <none>

此时应该是有4个pod,注意一哈,kuboard-v3-695f6bd686-p9pwb这个pod是在node1节点的,本例中,node1节点的IP地址是192.168.217.17,一哈会用到这个IP哦。

OK,这样的一个简单的kuboard就基本部署完成了,但还差最后一哆嗦,此工具需要客户端。

安装客户端


获取kuboard的客户端部署文件:

curl -k 'http://192.168.217.17:30080/kuboard-api/cluster/default/kind/KubernetesCluster/default/resource/installAgentToKubernetes?token=Yx9WHCgfAL8zzxVmK5TEljCqJjEmfRqS' > kuboard-agent.yaml
kubectl apply -f kuboard-agent.yaml

apply这个文件,将会多出两个pod,可以看到这两个pod是在node1节点的哦:

[root@master ~]# kubectl  get po -n kuboard -o wide
NAME                               READY   STATUS    RESTARTS   AGE    IP               NODE         NOMINATED NODE   READINESS GATES
kuboard-agent-2-5546cbdd74-ctgc5   1/1     Running   0          81m    10.244.1.29      k8s-node1    <none>           <none>
kuboard-agent-69fd468b5b-w9mrz     1/1     Running   0          81m    10.244.1.30      k8s-node1    <none>           <none>
kuboard-etcd-4nsqv                 1/1     Running   0          115m   192.168.217.17   k8s-node1    <none>           <none>
kuboard-etcd-spfdc                 1/1     Running   0          115m   192.168.217.16   k8s-master   <none>           <none>
kuboard-etcd-wj2bs                 1/1     Running   0          115m   192.168.217.18   k8s-node2    <none>           <none>
kuboard-v3-695f6bd686-p9pwb        1/1     Running   0          115m   10.244.1.28      k8s-node1    <none>           <none>

使用方法


打开浏览器,输入任意节点IP:30080即可登录kuboard(注意哈,不是htttps)

账号:admin

密码:Kuboard123

6b5df1296d63491fb59fe9c7cf4b8e21.png

进入后,有一个界面是集群导入的,如果前面的agent没有安装,将看不到集群的哦。

d003d8d787b94289aa2209e283f1207a.png

5b07828ddbb74a02b424ea9f554c98e1.png

ba95300a299a44608019593062e3f2b1.png



相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
Kubernetes 持续交付 Docker
利用 Docker 和 Kubernetes 实现微服务部署
【10月更文挑战第2天】利用 Docker 和 Kubernetes 实现微服务部署
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
120 60
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
205 62
|
1月前
|
Kubernetes API 调度
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
中间层 k8s(Kubernetes) 到底是什么,架构是怎么样的?
47 3
|
1月前
|
NoSQL 关系型数据库 Redis
高可用和性能:基于ACK部署Dify的最佳实践
本文介绍了基于阿里云容器服务ACK,部署高可用、可伸缩且具备高SLA的生产可用的Dify服务的详细解决方案。
|
1月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
73 0
|
22天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
23天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
120 17
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
459 1