1. 程式人生 > 其它 >|NO.Z.00096|——————————|^^ 升級 ^^|——|KuberNetes&二進位制升級.V07|-----------------------|kubernetes元件|metrics-server.v0.4.1——>v0.5.0|

|NO.Z.00096|——————————|^^ 升級 ^^|——|KuberNetes&二進位制升級.V07|-----------------------|kubernetes元件|metrics-server.v0.4.1——>v0.5.0|



[CloudNative:KuberNetes&二進位制升級.V07]                                                            [Applications.KuberNetes] [|DevOps|kubernetes|二進位制升級|kubernetes.v1.17.0——>v1.19.5|元件|metrics-server.v0.4.1——>v0.5.0|]








一、kubernetes.metrics-server
### --- metrics-server官方GitHub地址
### --- metrics-server資源下載地址

~~~     https://github.com/kubernetes-sigs/metrics-server
二、升級metrics-server服務
### --- 下載metrics-server.v0.5.0版本包
~~~     獲取metrics-server版本包

[root@k8s-master01 metrics-server]# pwd
/root/upgrade/metrics-server
[root@k8s-master01 metrics-server]# wget -c https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.0/components.yaml
### --- 備份metrics-server配置資源
~~~     # 檢視metrics-server配置資源

[root@k8s-master01 ~]# kubectl get secret metrics-server-token-qrtmc -n kube-system
NAME                         TYPE                                  DATA   AGE
metrics-server-token-qrtmc   kubernetes.io/service-account-token   3      55d
[root@k8s-master01 ~]#  kubectl get deployment metrics-server  -n kube-system -owide
NAME             READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS       IMAGES                                                           SELECTOR
metrics-server   1/1     1            1           55d   metrics-server   registry.cn-beijing.aliyuncs.com/dotbalo/metrics-server:v0.4.1   k8s-app=metrics-server
[root@k8s-master01 ~]# kubectl get service metrics-server -n kube-system -owide
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE   SELECTOR
metrics-server   ClusterIP   10.107.213.132   <none>        443/TCP   55d   k8s-app=metrics-server
[root@k8s-master01 ~]# kubectl get endpoints -n kube-system -owide
NAME                      ENDPOINTS                                                 AGEkube-controller-manager   <none>                                                    2d3h
metrics-server            172.17.125.15:4443                                        55d
~~~     # 備份metrics-server配置資源

[root@k8s-master01 metrics.bak]# pwd
/root/upgrade/metrics-server/metrics.bak
[root@k8s-master01 ~]# kubectl get secret metrics-server-token-qrtmc -n kube-system -oyaml > upgrade/metrics-server/metrics.bak/metrics-secret.yaml
[root@k8s-master01 ~]# kubectl get deployment metrics-server -n kube-system -oyaml > upgrade/metrics-server/metrics.bak/metrics-deployment.yaml
[root@k8s-master01 ~]# kubectl get service metrics-server -n kube-system -oyaml > upgrade/metrics-server/metrics.bak/metrics-service.yaml
[root@k8s-master01 ~]# kubectl get endpoints metrics-server -n kube-system -oyaml > upgrade/metrics-server/metrics.bak/metrics-endpoints.yaml 
~~~     # 檢視檢視metrics-server的ClusterRole 和clusterrolebinding

[root@k8s-master01 ~]# kubectl get clusterrole system:metrics-server
NAME                    CREATED AT
system:metrics-server   2021-05-10T12:38:57Z
[root@k8s-master01 ~]# kubectl get clusterrolebinding system:metrics-server
NAME                    ROLE                                AGE
system:metrics-server   ClusterRole/system:metrics-server   55d
~~~     # 備份metrics-server的ClusterRole和ClusterRoleBinding

[root@k8s-master01 ~]# kubectl get clusterrole system:metrics-server  -oyaml > upgrade/metrics-server/metrics.bak/metrics-cr.yaml
[root@k8s-master01 ~]# kubectl get clusterrolebinding system:metrics-server -oyaml > upgrade/metrics-server/metrics.bak/metrics-crb.yaml
三、升級並驗證
### --- 升級metrics-server版本:metrics-server.v0.4.1——>v0.5.0
~~~     # 檢視metrics-server的版本

[root@k8s-master01 ~]# kubectl get deployment metrics-server -n kube-system -oyaml | grep image
        image: registry.cn-beijing.aliyuncs.com/dotbalo/metrics-server:v0.4.1
~~~     # 升級metrics-server

[root@k8s-master01 metrics-server]# pwd
/root/upgrade/metrics-server
[root@k8s-master01 metrics-server]# kubectl apply -f components.yaml 
[root@k8s-master01 ~]#  kubectl get po -n kube-system -owide
NAME                                       READY   STATUS              RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
coredns-746fcb4bc5-p9r7r                   0/1     ContainerCreating   0          15s     <none>          k8s-master02   <none>           <none>
~~~     # 檢視metrics-server更新後版本

[root@k8s-master01 ~]# kubectl get deployment metrics-server -n kube-system -oyaml | grep image
        image: registry.cn-beijing.aliyuncs.com/dotbalo/metrics-server:v0.5.0
### --- 驗證metrics-server是否正常獲取資料

[root@k8s-master01 ~]# kubectl get hpa
NAME         REFERENCE               TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
demo-nginx   Deployment/demo-nginx   <unknown>/20%   2         5         2          54d
[root@k8s-master01 ~]# kubectl top node
NAME           CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
k8s-master01   404m         20%    1205Mi          65%       
k8s-master02   343m         17%    1214Mi          66%       
k8s-master03   387m         19%    1245Mi          67%       
k8s-node01     190m         19%    973Mi           52%       
k8s-node02     141m         14%    624Mi           33%  








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)