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%      

  

  

 

posted @ 2019-10-09 18:29  caonw  阅读(500)  评论(0)    收藏  举报