我正在尝试设置指标以激活HPA(Horizontal Pod自动缩放) 我只遵循this tutorial 自定义指标(Prometheus)。
不幸的是,当我执行以下命令时:
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"custom.metrics.k8s.io/v1beta1","resources":[]}
我必须在资源上看到很多东西,但是什么都没有。
答案 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。
希望这会有所帮助。如果遇到任何问题,请还原。