本文分为两部分第一部分是metrics-server,第二部分是基于web管理的kubernetes的dashboard。
为了快速查看kubernetes集群的节点、Pod的内存和CPU相关资源指标,使用了,使用了最新版本metrics-server-v0.3.7和dashboard-amd64:v2.0.4。
metrics-server篇:
下载解压软件
[root@node1 ~]#wget -P k8s-monitor wget -c https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.7.tar.gz && cd k8s-monitor && tar zxf v0.3.7.tar.gz
复制
修改配置文件
只修改配置文件metrics-server-deployment.yaml中的image把“image: k8s.gcr.io/metrics-server/metrics-server:v0.3.7”设置为“image: registry.cn-beijing.aliyuncs.com/duqiu/metrics-server:v0.3.7”
然后在containers的args启动参数处添加以下内容,跟“- --secure-port=4443”对齐即可
- metrics-server
- --metric-resolution=30s
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,Ex
- --kubelet-insecure-tls
复制
部署
[root@192-168-0-114 ~]# cd metrics-server-0.3.7/deploy/1.8+
[root@192-168-0-114 1.8+]# kubectl apply -f .
clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader changed
clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator changed
rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader changed
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io changed
serviceaccount/metrics-server changed
deployment.apps/metrics-server changed
service/metrics-server changed
clusterrole.rbac.authorization.k8s.io/system:metrics-server changed
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server changed
复制
等待30s-1min查看效果
[root@192-168-0-114 ~]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
node1 536m 14% 2247Mi 70%
node2 441m 11% 2162Mi 67%
node3 380m 9% 1370Mi 39%
[root@192-168-0-114 ~]# kubectl top po -n kube-system
NAME CPU(cores) MEMORY(bytes)
calico-kube-controllers-7fbcd4c569-9bfwx 7m 20Mi
calico-node-2cmrq 69m 68Mi
calico-node-fh6wx 78m 71Mi
calico-node-mlvth 73m 61Mi
coredns-66655b745d-ldr4r 6m 13Mi
coredns-66655b745d-t9z98 11m 13Mi
dns-autoscaler-647cfd7f5b-sfg4w 1m 10Mi
kube-apiserver-node1 93m 284Mi
kube-apiserver-node2 75m 295Mi
kube-controller-manager-node1 46m 58Mi
kube-controller-manager-node2 5m 17Mi
kube-proxy-98q69 7m 19Mi
kube-proxy-bb97m 13m 19Mi
kube-proxy-pgqld 1m 17Mi
kube-scheduler-node1 11m 22Mi
kube-scheduler-node2 7m 14Mi
kubernetes-dashboard-5c8754b9f6-mv8km 1m 27Mi
kubernetes-metrics-scraper-68464b88b5-5hrc5 1m 15Mi
metrics-server-77c94d4964-ljpz4 4m 18Mi
nginx-proxy-node3 1m 18Mi
nodelocaldns-75nkt 3m 16Mi
nodelocaldns-8gbv8 3m 14Mi
nodelocaldns-bpp2d 3m 12Mi
复制
kubernetes dashboard篇:
因为基于kubespray的部署,我们只需要更改dashboard文件即可,文件位置在:/etc/kubernetes/dashboard.yml,
1.更改镜像拉取地址为:image: registry.cn-beijing.aliyuncs.com/duqiu/dashboard-amd64:v2.0.4
2.更改暴露方式为NodePort,添加端口为32567
---
# ------------------- Dashboard Service ------------------- #
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 32567
selector:
k8s-app: kubernetes-dashboard
复制
3.增加SA配置来获取集群信息,在dashboard.yml最后添加以下信息
###By duqiu
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: dashboard-admin
name: dashboard-admin
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard-cluster-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kubernetes-dashboard
复制
4.创建依赖的namespace并应用文件
[root@node1 kubernetes]#kubectl create ns kubernetes-dashboard
[root@node1 kubernetes]# kubectl apply -f dashboard.yml
复制
5.查看pod运行状态和sa情况
[root@node1 kubernetes]# kubectl get po -n kube-system|grep dash
kubernetes-dashboard-5c8754b9f6-mv8km 1/1 Running 0 17h
[root@node1 kubernetes]# kubectl get sa -n kubernetes-dashboard
NAME SECRETS AGE
dashboard-admin 1 17h
default 1 17h
复制
6.进入dashboard web 界面:建议用火狐浏览器,如果使用的是Google浏览器,会出现如下情况,直接在页面敲thisisunsafe即可打开:
选择Token复制刚刚创建的Token信息到浏览器里:
[root@node1 kubernetes]# kubectl describe secret dashboard-admin-token-29htx -n kubernetes-dashboard
Name: dashboard-admin-token-29htx
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: dashboard-admin
kubernetes.io/service-account.uid: 0dasdfad-6f46-4a82-adf39-adsf34fae81cb
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 20 bytes
token: asdfGciOiJSUzIasdfCI6IkZUdkJINWpmaadsfasdfA1NmhJanp6NXhWYjd1TEJ2RU9CY1kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tMjlodHgiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMGRjYzc2YWQtNmY0Ni00YTgyLWE0MzktNTQxMzRmYWU4MWNiIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.VzWAWb43pyfmcTKTIzlAr4szf2Myt5O1LnPTVoXtdVAih9DJcEcfgwZGrPclFaKdpw_uUezgG98_u9tkUMBGf3e8c_QrP80QOt4r3r5U_O8FJ4osiN700CrfbJRCWeiSB7D0jHnakb9qI_5qwApkw_Ky7lVo9WKwxdP_gnoO0rQV9oxQpcN-d10tTVBIS1nUcOsQzA-5MIP32r0p7iZHCuv2_G9UuKaPvPvdbYDTRokr5aTpSgx_-hFbkFuFs_MBQwkrC6CP3r819hyU3CInunaI0_J_WYNskZ-pmT5Jg3db-n34jKVKf4RlALZIvkQO6RfFG0YrH1V2_-ComYsAUw
复制
基于web的dashboard UI部署完成,我们可以在此页面进行yaml文件的修改应用等等操作,查看pod、node、cm、job等等资源信息。
文章转载自运维及时雨,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
2460次阅读
2025-04-09 15:33:27
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1138次阅读
2025-04-27 16:53:22
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
818次阅读
2025-04-10 15:35:48
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
646次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
565次阅读
2025-04-11 09:38:42
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
548次阅读
2025-04-10 12:32:35
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
527次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
452次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
450次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
438次阅读
2025-04-30 12:17:50