k8s 1.14 安裝 Metrics Server

簡單說明

  Metrics Server 是用來監控 k8s 集羣資源使用情況的組件,是用來替換掉之前的 Heapster 的。從 k8s 1.8 開始,資源的使用情況就可以通過 Metrics API 的形式獲取到,Metrics Server 組件就是其具體的實現。

  Heapster 在 k8s 1.11 時就已經不添加新功能了、在 1.12 時已經從 k8s 安裝腳本中刪除掉了、在 1.13 中已經徹底切除連錯誤修正都不會更新了。詳情可以查看說明

安裝

下載 yaml 文件

wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/auth-delegator.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-server-service.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/auth-reader.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-apiservice.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-server-deployment.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/aggregated-metrics-reader.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/resource-reader.yaml

微微修改

✨在 apply 之前還需要做一些操作

  • 修改 metrics-server-deployment.yaml 文件修改鏡像默認拉去策略爲 IfNotPresent
$ vim metrics-server-deployment.yaml
containers:
      - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.2
        # imagePullPolicy: Always
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: tmp-dir
          mountPath: /tmp
  • 由於拉取的鏡像是 k8s.gcr.io/metrics-server-amd64:v0.3.2,沒有科學上網是拉取不下來的,可以下載之後使用 docker load 導入。

  • 修改使用 IP 連接並且不驗證證書:

$ vim metrics-server-deployment.yaml
containers:
      - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.2
        # imagePullPolicy: Always
        imagePullPolicy: IfNotPresent
        command:
        - /metrics-server
        - --kubelet-insecure-tls
        - --kubelet-preferred-address-types=InternalIP
        volumeMounts:
        - name: tmp-dir
          mountPath: /tmp

部署

$ kubectl apply -f ./

查看監控數據

$ kubectl top nodes
NAME         CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
k8s-master   127m         6%     678Mi           17%
k8s-node-1   53m          2%     594Mi           31%
k8s-node-2   36m          1%     570Mi           30%

$ kubectl top pod --all-namespaces
NAMESPACE     NAME                                    CPU(cores)   MEMORY(bytes)
default       springbootdemo-56d8697f47-2zznb         5m           123Mi
default       springbootdemo-56d8697f47-46fgj         6m           144Mi
default       springbootdemo-56d8697f47-7v5tz         5m           141Mi
default       springbootdemo-56d8697f47-qmw8j         4m           116Mi
kube-system   coredns-fb8b8dccf-jr2sp                 3m           12Mi
kube-system   coredns-fb8b8dccf-pbpmv                 3m           12Mi
kube-system   etcd-k8s-master                         14m          60Mi
kube-system   kube-apiserver-k8s-master               26m          142Mi
kube-system   kube-controller-manager-k8s-master      14m          44Mi
kube-system   kube-flannel-ds-amd64-62pwl             2m           11Mi
kube-system   kube-flannel-ds-amd64-hjfjb             2m           14Mi
kube-system   kube-flannel-ds-amd64-td24r             2m           13Mi
kube-system   kube-proxy-9cggp                        5m           17Mi
kube-system   kube-proxy-k8lw2                        1m           19Mi
kube-system   kube-proxy-xl8gj                        1m           17Mi
kube-system   kube-scheduler-k8s-master               2m           13Mi
kube-system   kubernetes-dashboard-5f7b999d65-h96kl   1m           14Mi
kube-system   metrics-server-866db9bd9d-rv7vg         1m           12Mi
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章