k8s 1.12.3部署metrics-server,獲取k8s中cpu、內(nèi)存使用率

官網(wǎng)部署方法

git clone https://github.com/kubernetes-incubator/metrics-server
cd metrics-server
kubectl create -f deploy/1.8+/
kubectl -n kube-system get pods -l k8s-app=metrics-server

實(shí)際部署步驟

下載部署文件
[root@elasticsearch01 metrics-server]# ls
aggregated-metrics-reader.yaml auth-reader.yaml metrics-server-deployment.yaml resource-reader.yaml
auth-delegator.yaml metrics-apiservice.yaml metrics-server-service.yaml

下載地址

https://github.com/kubernetes-incubator/metrics-server
$ cd metrics-server/deploy/1.8+/
root@blk:/home/metrics-server/deploy/1.8+# ls
aggregated-metrics-reader.yaml  auth-reader.yaml         metrics-server-deployment.yaml  resource-reader.yaml
auth-delegator.yaml             metrics-apiservice.yaml  metrics-server-service.yaml

創(chuàng)建:
root@blk:/home/metrics-server/deploy/# kubectl create -f /k8s/yaml/metrics-server/1.8+

1.kubectl命令 使用對應(yīng)證書
2.curl api 使用對應(yīng)證書
3.metrics服務(wù)配置問題

在k8s服務(wù)需要修改的配置

1.在kube-apiserver.service新增如下參數(shù)(http://www.itdecent.cn/p/d0a131e001da
  --etcd-cafile=/etc/kubernetes/ca/ca.pem \
  --etcd-certfile=/etc/kubernetes/ca/kubernetes/kubernetes.pem \
  --etcd-keyfile=/etc/kubernetes/ca/kubernetes/kubernetes-key.pem \
  --requestheader-client-ca-file=/etc/kubernetes/ca/ca.pem \
  --requestheader-allowed-names=aggregator \
  --requestheader-extra-headers-prefix=X-Remote-Extra- \
  --requestheader-group-headers=X-Remote-Group \
  --requestheader-username-headers=X-Remote-User \
  --proxy-client-cert-file=/etc/kubernetes/ca/kube-proxy/kube-proxy.pem \
  --proxy-client-key-file=/etc/kubernetes/ca/kube-proxy/kube-proxy-key.pem \
  --enable-aggregator-routing=true \
2. 在kube-controller-manager.service新增如下參數(shù)

--horizontal-pod-autoscaler-use-rest-clients=true

在下載的deploy配置metrics-server-deployment.yaml中需要更新的配置

+        image: registry.cn-beijing.aliyuncs.com/minminmsn/metrics-server:v0.3.1
+        imagePullPolicy: IfNotPresent
+        command:
+        - /metrics-server
+        - --metric-resolution=30s
+        - --kubelet-insecure-tls
+        - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP

metrics-server-service.yaml
+  type: NodePort
   selector:
     k8s-app: metrics-server
   ports:
   - port: 443
     protocol: TCP
     targetPort: 443
+    nodePort: 30443


deploy/1.8+/resource-reader.yaml
   - pods
   - nodes
   - nodes/stats
+  - namespaces

-  name: system:metrics-server
+  name: cluster-admin

訪問方式:
SECRET=$(kubectl get secrets -n kube-system| grep kubelet-api-test | awk '{print $1}')
TOKEN=$(kubectl describe secret -n kube-system ${SECRET} | grep -E '^token' | awk '{print $2}')
echo ${TOKEN}

curl -ik \
  -H "Authorization: Bearer $(cat ./token)" \
  https://172.16.5.205:30443/apis/metrics.k8s.io/v1beta1/nodes
  

可以理解為:
cpu: 最多使用1個(gè)核,最低要求 250/1000 = 1/4 核 (1 = 1000m);可以使用top簡單查看你的機(jī)器的cpu總共有多少個(gè)核;
memory: 最多使用128M,最低要求64 M;

CPU和RAM單元
CPU資源以cpus為單位。允許小數(shù)值。你可以用后綴m來表示mili。例如100m cpu等同于100 milicpu,意思是0.1cpu。
RAM資源以bytes為單位。你可以將RAM表示為純整數(shù)或具有這些后綴之一的定點(diǎn)整數(shù):
E, P, T, G, M, K, Ei, Pi, Ti, Gi, Mi, Ki。例如,以下代表大約相同的數(shù)值:
128974848, 129e6, 129M , 123Mi

metrics-server部署好后可以,安裝prometheus https://blog.csdn.net/weixin_36171533/article/details/82790968

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容