kubernetesv1.23.0实战部署 (kubernetes1.24)

部署Metrics Server

OS: Ubuntu Server 22.04 LTS

一: 在K8S Master节点部署Metrics Server

1) 因网络问题,请单独*载下**metrics-server:master镜像并导入

root@srv1:~# ctr -n=k8s.io image import metrics.tar
root@srv2:~# ctr -n=k8s.io image import metrics.tar
root@srv3:~# ctr -n=k8s.io image import metrics.tar

2) Git Metrics-Server

root@srv1:~# git clone https://github.com/kubernetes-sigs/metrics-server

root@srv1:~# vim ./metrics-server/manifests/base/deployment.yaml
......
......
......
......
......
......
        image: gcr.io/k8s-staging-metrics-server/metrics-server:master
        imagePullPolicy: IfNotPresent
        # 23行添加如下内容[command行至- --kubelet-preferred-address-types=InternalIP行]
        command:
        - /metrics-server
        - --kubelet-insecure-tls
        - --kubelet-preferred-address-types=InternalIP
......
......
......
......
......
......

root@srv1:~# kubectl apply -k ./metrics-server/manifests/base/
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

root@srv1:~# kubectl get pods -n kube-system
NAME                                                         READY   STATUS    RESTARTS      AGE
coredns-74586cf9b6-bnx4v                   					1/1         Running    3 (79m ago)     4d23h
coredns-74586cf9b6-qdk4w                   				1/1          Running    3 (79m ago)     4d23h
etcd-srv1.1000y.cloud                      							 1/1          Running    3 (79m ago)     4d23h
kube-apiserver-srv1.1000y.cloud            				1/1         Running    3 (79m ago)     4d23h
kube-controller-manager-srv1.1000y.cloud   1/1         Running    3 (79m ago)     4d23h
kube-flannel-ds-knbd8                      							1/1         Running    3 (77m ago)     4d23h
kube-flannel-ds-qbkzk                      							1/1         Running    3 (79m ago)     4d23h
kube-flannel-ds-x5dng                      							1/1         Running    7 (77m ago)     4d23h
kube-proxy-5vl9c                           								1/1         Running     2 (79m ago)     4d23h
kube-proxy-jlhmh                           								1/1        Running     2 (79m ago)     4d23h
kube-proxy-tm2l6                           								1/1        Running     3 (79m ago)     4d23h
kube-scheduler-srv1.1000y.cloud            			1/1         Running     3 (79m ago)     4d23h
metrics-server-954c5986-pmdqz                  1/1         Running     0                       27m

二: 使用Metrics服务

1) 显示Node所占用的CPU及MEM资源

root@srv1:~# kubectl top node
NAME                   CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
srv1.1000y.cloud   177m             4%         1206Mi                   15%       
srv2.1000y.cloud   43m               1%         604Mi                     7%        
srv3.1000y.cloud   34m               0%         558Mi                     7%

2) 显示Pods所占用的CPU及MEM资源

root@srv1:~# kubectl top pod
NAME            CPU(cores)   MEMORY(bytes)   
private-nginx   8m                3Mi