HorizontalPodAutoscaler扩展pod,然后立即终止它们



所以我有一个HorizontalPodAutoscaler设置为我的后端(一个fpm服务器和一个Nginx服务器为Laravel应用程序)。

问题是,当HPA处于负载状态时,它会扩展pod,但会立即终止它们,甚至不让它们进入运行状态。

指标很好,扩展行为如预期的那样,唯一的问题是扩展后pod立即终止。

有什么问题吗?

编辑:同样的HPA是在前端使用的,它的工作如预期的那样,问题似乎只在后端。

编辑2:我启用了Cluster Autoscaler,它完成了它的工作,节点在需要时被添加,然后被清理,所以这不是一个关于可用资源的问题。

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: fpm-server
labels:
tier: backend
layer: fpm
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
tier: backend
layer: fpm
template:
metadata:
labels:
tier: backend
layer: fpm
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}           
containers:
- name: fpm
image: "{{ .Values.fpm.image.repository }}:{{ .Values.fpm.image.tag }}"
ports:
- name: http
containerPort: 9000
protocol: TCP
env:
{{- range $name, $value := .Values.env }}
- name: {{ $name }}
value: "{{ $value }}" 
{{- end }}             
envFrom:
- secretRef:
name: backend-secrets
resources:
{{- toYaml .Values.resources | nindent 12 }}

hpa.yaml

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: fpm-server-hpa
labels:
tier: backend
layer: fpm
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: fpm-server
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}

似乎问题出在replicas: {{ .Values.replicaCount }}定义上。似乎,如果你正在使用HPA,replicas不能使用。我删除了这条线,HPA开始缩放。

相关内容

  • 没有找到相关文章

最新更新