为kubernetes设置Prometheus度量标准时出现错误Horizo​​ntal Pod自动缩放

时间:2018-12-19 15:19:34

标签: kubernetes kubernetes-helm kubernetes-ingress

我正在尝试设置指标以激活HPA(Horizo​​ntal Pod自动缩放) 我只遵循this tutorial 自定义指标(Prometheus)

不幸的是,当我执行以下命令时:

  kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"custom.metrics.k8s.io/v1beta1","resources":[]}  

我必须在资源上看到很多东西,但是什么都没有。

1 个答案:

答案 0 :(得分:1)

这可能是您设置指标服务器和指标服务器无法在InternalIP上找到资源的问题。

解决方案是将metrics-server-deployment.yaml中的metrics-server/deploy/1.8+文件替换为以下yaml文件:

apiVersion: v1
 kind: ServiceAccount
 metadata:
   name: metrics-server
   namespace: kube-system
 ---
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
   name: metrics-server
   namespace: kube-system
   labels:
     k8s-app: metrics-server
 spec:
   selector:
     matchLabels:
       k8s-app: metrics-server
   template:
     metadata:
       name: metrics-server
       labels:
         k8s-app: metrics-server
     spec:
       serviceAccountName: metrics-server
       volumes:
       # mount in tmp so we can safely use from-scratch images and/or read-only containers
       - name: tmp-dir
         emptyDir: {}
       containers:
       - command:
         - /metrics-server
         - --metric-resolution=30s
         - --kubelet-insecure-tls
         - --kubelet-preferred-address-types=InternalIP
         name: metrics-server
         image: k8s.gcr.io/metrics-server-amd64:v0.3.1
         imagePullPolicy: Always
         volumeMounts:
         - name: tmp-dir
           mountPath: /tmp

此外,启用--authentication-token-webhook中的kubelet.conf,然后就能获取指标。

此外,请查看我的答案以逐步了解如何使用指标服务器设置HPA。

  

How to Enable KubeAPI server for HPA Autoscaling Metrics

希望这会有所帮助。如果遇到任何问题,请还原。