错误:
安装prometheus的时候 prometheus-adapter 这个pod启动失败错误如下:
1 |
F0514 16:31:42.216596 1 adapter.go:252] unable to install resource metrics API: cluster doesn't provide requestheader-client-ca-file |
cluster doesn’t provide requestheader-client-ca-file
从错误上得知我的kube-apiserver没有–requestheader-client-ca-file=<…>集合
1. 开启聚合层及HPA功能
如果不开prometheus-adapter就会出现上面的错误
如何开启?:修改启动参数 (修改前最好先delete掉Prometheus,然后再重新应用)
kube-apiserver
1 2 3 4 5 6 7 8 9 10 |
--client-ca-file=/opt/kubernetes/ssl/ca.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 \ --runtime-config=api/all=true \ --proxy-client-cert-file=/etc/kubernetes/ca/ca.pem \ --proxy-client-key-file=/etc/kubernetes/ca/ca-key.pem \ --enable-aggregator-routing=true \ |

修改kube-controller-manager
1 |
--horizontal-pod-autoscaler-use-rest-clients=true |
kubelet
1 |
--authentication-token-webhook=true |
然后重启这几个服务,重新应用Prometheus
2. 多master只能监听到一个
prometheus 是通过service来获取master各个组件的ip和端口
解决方法:添加无selector的service,自定义Endpoints
案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
apiVersion: v1 kind: Service metadata: namespace: kube-system name: kube-scheduler labels: k8s-app: kube-scheduler spec: type: ClusterIP clusterIP: None ports: - name: port port: 10251 protocol: TCP --- apiVersion: v1 kind: Endpoints metadata: labels: k8s-app: kube-scheduler name: kube-scheduler namespace: kube-system subsets: - addresses: - ip: 10.2.0.6 - ip: 10.2.0.17 ports: - name: http-metrics port: 10251 protocol: TCP |
- 本文固定链接: https://www.yoyoask.com/?p=4406
- 转载请注明: shooter 于 SHOOTER 发表