官網(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