在 kubernetes 中为 Statefulset 应用 HPA?
apply HPA for Statefulset in kubernetes?
我正在尝试在 kubernetes 环境中为我的状态集(用于弹性搜索)设置 HPA。我计划使用 cpu 利用率来扩展 statefulset。我已经从 https://github.com/stefanprodan/k8s-prom-hpa/tree/master/metrics-server.
创建了指标服务器
我的 statefulset 的 HPA yaml 如下:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: dz-es-cluster
spec:
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: StatefulSet
name: dz-es-cluster
minReplicas: 2
maxReplicas: 3
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80
但是在hpa中得到如下输出:
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale False FailedGetScale the HPA controller was unable to get the target's current scale: the server could not find the requested resource
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetScale 1m (x71 over 36m) horizontal-pod-autoscaler the server could not find the requested resource
有人请帮助我..
kubernetes 1.9 中添加了使用 HPA 自动缩放 statefulsets 的支持,因此您的版本不支持它。在 kubernetes 1.9 之后,您可以使用以下方法自动缩放您的状态集:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: YOUR_HPA_NAME
spec:
maxReplicas: 3
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: YOUR_STATEFUL_SET_NAME
targetCPUUtilizationPercentage: 80
更多信息请参考以下link:
我正在尝试在 kubernetes 环境中为我的状态集(用于弹性搜索)设置 HPA。我计划使用 cpu 利用率来扩展 statefulset。我已经从 https://github.com/stefanprodan/k8s-prom-hpa/tree/master/metrics-server.
创建了指标服务器我的 statefulset 的 HPA yaml 如下:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: dz-es-cluster
spec:
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: StatefulSet
name: dz-es-cluster
minReplicas: 2
maxReplicas: 3
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80
但是在hpa中得到如下输出:
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale False FailedGetScale the HPA controller was unable to get the target's current scale: the server could not find the requested resource
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetScale 1m (x71 over 36m) horizontal-pod-autoscaler the server could not find the requested resource
有人请帮助我..
kubernetes 1.9 中添加了使用 HPA 自动缩放 statefulsets 的支持,因此您的版本不支持它。在 kubernetes 1.9 之后,您可以使用以下方法自动缩放您的状态集:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: YOUR_HPA_NAME
spec:
maxReplicas: 3
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: YOUR_STATEFUL_SET_NAME
targetCPUUtilizationPercentage: 80
更多信息请参考以下link: