目的
支持 kubectl top 命令
用于检测 node, pods 一些 cpu, mem 使用状态
镜像
镜像 | 版本 | 说明 |
---|---|---|
k8s.gcr.io/metrics-server/metrics-server | v0.6.2 | metric server |
安装方法
metric server 部署
# kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
serviceaccount/metrics-server created
clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created
clusterrole.rbac.authorization.k8s.io/system:metrics-server created
rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created
clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator created
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created
service/metrics-server created
deployment.apps/metrics-server created
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
支持高可用
如果需要更多容器, 自己修改 yaml 容器中 replics:2 参数
# kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability.yaml
serviceaccount/metrics-server unchanged
clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader unchanged
clusterrole.rbac.authorization.k8s.io/system:metrics-server unchanged
rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader unchanged
clusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator unchanged
clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server unchanged
service/metrics-server unchanged
deployment.apps/metrics-server configured
poddisruptionbudget.policy/metrics-server created
apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io unchanged
查询容器状态
# kubectl -n kube-system get pods
NAME READY STATUS RESTARTS AGE
coredns-6d4b75cb6d-6x8ln 1/1 Running 0 109m
coredns-6d4b75cb6d-f7h6n 1/1 Running 0 109m
etcd-ns-yun-020064.vclound.com 1/1 Running 0 109m
kube-apiserver-ns-yun-020064.vclound.com 1/1 Running 0 109m
kube-controller-manager-ns-yun-020064.vclound.com 1/1 Running 0 109m
kube-proxy-2pgjb 1/1 Running 0 109m
kube-proxy-gnfg4 1/1 Running 0 22m
kube-proxy-nshkb 1/1 Running 0 22m
kube-proxy-p5s4p 1/1 Running 0 24m
kube-proxy-x72fz 1/1 Running 0 22m
kube-scheduler-ns-yun-020064.vclound.com 1/1 Running 0 109m
metrics-server-67549d64d5-lsvgg 1/1 Running 0 33s
metrics-server-67549d64d5-xcpfn 1/1 Running 0 33s
使用方法
pods 监控
# kubectl -n kube-system top pods
NAME CPU(cores) MEMORY(bytes)
coredns-6d4b75cb6d-6x8ln 2m 30Mi
coredns-6d4b75cb6d-f7h6n 2m 25Mi
etcd-ns-yun-020064.vclound.com 14m 65Mi
kube-apiserver-ns-yun-020064.vclound.com 62m 361Mi
kube-controller-manager-ns-yun-020064.vclound.com 14m 80Mi
kube-proxy-2pgjb 1m 27Mi
kube-proxy-gnfg4 1m 24Mi
kube-proxy-nshkb 1m 23Mi
kube-proxy-p5s4p 1m 29Mi
kube-proxy-x72fz 1m 22Mi
kube-scheduler-ns-yun-020064.vclound.com 3m 38Mi
metrics-server-67549d64d5-lsvgg 3m 23Mi
metrics-server-67549d64d5-xcpfn 8m 22Mi
node 监控
# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
ns-yun-020064.vclound.com 162m 0% 7734Mi 6%
ns-yun-020065.vclound.com 27m 0% 1001Mi 0%
ns-yun-020066.vclound.com 35m 0% 1001Mi 0%
ns-yun-020067.vclound.com 32m 0% 1005Mi 0%
ns-yun-020068.vclound.com 51m 0% 987Mi 0%