kubernetes 部署 metrics-server服务
1.制作证书 ca.pem,ca-key.pem,ca-config.json 二进制部署产生的(可以参考https://www.cnblogs.com/caonw/articles/11637917.html)
cat > metrics-server-csr.json <<EOF
{
"CN": "aggregator",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing",
"O": "k8s",
"OU": "4Paradigm"
}
]
}
EOF
cfssl gencert -ca=/root/mer/ca.pem \
-ca-key=/root/mer/ca-key.pem \
-config=/root/mer/ca-config.json \
-profile=kubernetes metrics-server-csr.json | cfssljson -bare metrics-server
2.修改kube-apiserver配置文件 如果kube-proxy没有在Master上面运行,还需要添加--enable-aggregator-routing=true 配置,我被这个坑了好久,kubectl logs ,就是不产生新的日志。修改后重启kube-apiserver
--runtime-config=api/all=true \ #支持所有的API版本 --requestheader-client-ca-file=/opt/kubernetes/ssl/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 \ --enable-aggregator-routing=true \ --proxy-client-cert-file=/opt/kubernetes/ssl/metrics-server.pem \ --proxy-client-key-file=/opt/kubernetes/ssl/metrics-server-key.pem"
3.下载metrics-server包
git clone https://github.com/kubernetes-incubator/metrics-server
4.修改 metrics-server-deployment.yaml文件 将image:中的镜像路径替换成国内,避免下载不了镜像
[root@k8s-master 1.8+]# cd metrics-server/deploy/1.8+/
修改信息如下
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2
imagePullPolicy: IfNotPresent
command:
- /metrics-server
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalDNS,InternalIP,ExternalDNS,ExternalIP,Hostname
volumeMounts:
- name: tmp-dir
mountPath: /tmp
resources:
limits:
cpu: 300m
memory: 200Mi
requests:
cpu: 200m
memory: 100Mi
5.执行yaml文件
[root@k8s-master 1.8+]# ls aggregated-metrics-reader.yaml auth-delegator.yaml auth-reader.yaml metrics-apiservice.yaml metrics-server-deployment.yaml metrics-server-service.yaml resource-reader.yaml [root@k8s-master 1.8+]# kubectl create -f .
6.检查,测试结果
[root@k8s-master cfg]# kubectl get pods -n kube-system -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE coredns-6d4b565868-bhnhd 1/1 Running 0 157m 172.17.87.2 192.168.1.120 <none> metrics-server-6f6c8956c4-cvf62 1/1 Running 0 44m 172.17.87.3 192.168.1.120 <none> [root@k8s-master cfg]# kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% 192.168.1.120 319m 7% 550Mi 20% 192.168.1.121 283m 7% 592Mi 21%

浙公网安备 33010602011771号