装置 Metrics server
Metrics Server 是 Kubernetes 内置主动缩放管道的可扩大、高效的容器资源指标起源。
Metrics Server 从 Kubelets 收集资源指标,并通过Metrics API在 Kubernetes apiserver 中公开它们,以供 Horizontal Pod Autoscaler和Vertical Pod Autoscaler应用。Metrics API 也能够通过 拜访kubectl top,从而更容易调试主动缩放管道。
单机版
单机版 wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml查看镜像地址grep -rn image components.yaml 140: image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1141: imagePullPolicy: IfNotPresent设置镜像地址为阿里云sed -i "s#k8s.gcr.io/metrics-server#registry.cn-hangzhou.aliyuncs.com/chenby#g" components.yaml查看镜像地址已更新grep -rn image components.yaml 140: image: registry.cn-hangzhou.aliyuncs.com/chenby/metrics-server:v0.6.1141: imagePullPolicy: IfNotPresentargs增加tls证书配置选项vim components.yaml增加"- --kubelet-insecure-tls"例: args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-use-node-status-port - --metric-resolution=15s - --kubelet-insecure-tls image: registry.cn-hangzhou.aliyuncs.com/chenby/metrics-server:v0.6.1执行配置kubectl apply -f components.yaml serviceaccount/metrics-server createdclusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader createdclusterrole.rbac.authorization.k8s.io/system:metrics-server createdrolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader createdclusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator createdclusterrolebinding.rbac.authorization.k8s.io/system:metrics-server createdservice/metrics-server createddeployment.apps/metrics-server createdapiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
高可用版本
高可用版本wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/high-availability.yaml查看镜像地址grep -rn image high-availability.yaml 150: image: k8s.gcr.io/metrics-server/metrics-server:v0.6.1151: imagePullPolicy: IfNotPresent设置镜像地址为阿里云sed -i "s#k8s.gcr.io/metrics-server#registry.cn-hangzhou.aliyuncs.com/chenby#g" high-availability.yaml查看镜像地址已更新grep -rn image high-availability.yaml 150: image: registry.cn-hangzhou.aliyuncs.com/chenby/metrics-server:v0.6.1151: imagePullPolicy: IfNotPresentargs增加tls证书配置选项vim high-availability.yaml增加"- --kubelet-insecure-tls"例: args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-use-node-status-port - --metric-resolution=15s - --kubelet-insecure-tls image: registry.cn-hangzhou.aliyuncs.com/chenby/metrics-server:v0.6.1执行配置kubectl apply -f high-availability.yamlserviceaccount/metrics-server createdclusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader createdclusterrole.rbac.authorization.k8s.io/system:metrics-server createdrolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader createdclusterrolebinding.rbac.authorization.k8s.io/metrics-server:system:auth-delegator createdclusterrolebinding.rbac.authorization.k8s.io/system:metrics-server createdservice/metrics-server createddeployment.apps/metrics-server createdWarning: policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudgetpoddisruptionbudget.policy/metrics-server createdapiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created
验证
查看metrics资源kubectl get pod -n kube-system | grep metricsmetrics-server-65fb95948b-2bcht 1/1 Running 0 32smetrics-server-65fb95948b-vqp5s 1/1 Running 0 32s查看node资源状况kubectl top nodeNAME CPU(cores) CPU% MEMORY(bytes) MEMORY% k8s-master01 127m 1% 2439Mi 64% k8s-node01 50m 0% 1825Mi 23% k8s-node02 53m 0% 1264Mi 16% 查看pod资源状况kubectl top pod NAME CPU(cores) MEMORY(bytes) chenby-57479d5997-44926 0m 10Mi chenby-57479d5997-tbpqc 0m 11Mi chenby-57479d5997-w8cp2 0m 6Mi
https://www.oiox.cn/
https://blog.oiox.cn/
https://www.chenby.cn/
https://cby-chen.github.io/
https://blog.csdn.net/qq_3392...
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/...
https://segmentfault.com/u/hp...
https://juejin.cn/user/331578...
https://cloud.tencent.com/dev...
https://www.jianshu.com/u/0f8...
https://www.toutiao.com/c/use...
CSDN、GitHub、知乎、开源中国、思否、掘金、简书、腾讯云、今日头条、集体博客、全网可搜《小陈运维》
文章次要公布于微信公众号:《Linux运维交换社区》