k8s——部署metric-server
·
https://github.com/kubernetes-sigs/metrics-server/releases

下载master执行
[root@k8s-master-1 ~]# mkdir metrics [root@k8s-master-1 ~]# cd metrics/ [root@k8s-master-1 metrics]# ls [root@k8s-master-1 metrics]# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.8.1/components.yaml
检查是不是下载成功了
[root@k8s-master-1 resource]# ls components.yaml
进入components.yaml
vim components.yaml
拉取镜像--metrics-server:v0.8.1--渡渡鸟
ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1 ctr images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1 registry.k8s.io/metrics-server/metrics-server:v0.8.1
直接在 k8s.io 命名空间拉取(推荐)
在拉取时就指定 -n k8s.io,一步到位:
[root@k8s-master-1 resource]# ctr -n k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1 swr.cn north 4.myhuaweicloud.com/ddn k8s saved └──manifest (4a4376379ab8) complete |++++++++++++++++++++++++++++++++++++++| ├──config (e76b3f3568b7) complete |++++++++++++++++++++++++++++++++++++++| ├──layer (15ffdbec9d0f) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (d557676654e5) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (03c9b64681ee) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (2e4cf50eeb92) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (56ce5a7a0a8c) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (e1089d61b200) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (0f8b424aa0b9) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (0783a66ae749) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (d82bc7a76a83) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (68e4cd60e60f) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (6b72b81ed966) extracted |++++++++++++++++++++++++++++++++++++++| ├──layer (b40161cd83fc) extracted |++++++++++++++++++++++++++++++++++++++| └──layer (6cdd517ba905) extracted |++++++++++++++++++++++++++++++++++++++| application/vnd.docker.distribution.manifest.v2+json sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe Completed pull from OCI Registry (swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1) elapsed: 1.9 s total: 21.4 M (11.1 MiB/s)
查看镜像
[root@k8s-master-1 resource]# ctr -n k8s.io images ls | grep metrics-server metrics-server:v0.8.1 application/vnd.docker.distribution.manifest.v2+json sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe 21.4 MiB linux/amd64 io.cri-containerd.image=managed swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1 application/vnd.docker.distribution.manifest.v2+json sha256:4a4376379ab80d3e1fd5edbf8c3ddcc0b9be8ccb56167e4f8c9423e5e11b0cfe 21.4 MiB linux/amd64 io.cri-containerd.image=managed
镜像的实际地址
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1
修改components.yaml的内容
修改前
spec: containers: - args: - --cert-dir=/tmp - --secure-port=10250 - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-use-node-status-port - --metric-resolution=15s image: registry.k8s.io/metrics-server/metrics-server:v0.8.1
修改后(image:镜像的实际地址)
containers:
- args:
- --cert-dir=/tmp
- --secure-port=10250
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/metrics-server/metrics-server:v0.8.1
应用修改后的 YAML
先把修改后的配置应用到集群中:
kubectl apply -f components.yaml
结果
[root@k8s-master-1 resource]# kubectl apply -f 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
检查 Pod 是否正常运行
[root@k8s-master-1 resource]# kubectl get pods -n kube-system | grep metrics-server metrics-server-84896697fc-82s6g 1/1 Running 0 2m13s
显示Running运行成功
检验
[root@k8s-master-1 resource]# kubectl top nodes NAME CPU(cores) CPU(%) MEMORY(bytes) MEMORY(%) k8s-master-1 105m 5% 1592Mi 45% k8s-node-1 39m 1% 700Mi 19% k8s-node-2 45m 2% 784Mi 22% [root@k8s-master-1 resource]# kubectl top pod No resources found in default namespace.
kubectl top pod命令发生问题
原因:kubectl top pod 默认只查询default命名空间,但我的metrics-server 等核心组件都运行在 kube-system 命名空间。
kubectl top pod` 等价于 `kubectl top pod -n default
修改命令
kubectl top pod -n kube-system
结果
NAME CPU(cores) MEMORY(bytes) calico-kube-controllers-79fcb48598-w8j5x 2m 58Mi calico-node-2ksss 13m 167Mi calico-node-6g5fw 14m 169Mi calico-node-dk6wd 18m 167Mi coredns-bbdc5fdf6-f26x4 1m 34Mi coredns-bbdc5fdf6-t2tmg 1m 52Mi etcd-k8s-master-1 14m 91Mi kube-apiserver-k8s-master-1 22m 335Mi kube-controller-manager-k8s-master-1 7m 130Mi kube-proxy-crc44 1m 63Mi kube-proxy-jhcmb 1m 63Mi kube-proxy-lkwl7 1m 62Mi kube-scheduler-k8s-master-1 4m 65Mi metrics-server-84896697fc-82s6g 2m 20Mi
更多推荐




所有评论(0)