k8s pod根据流量自动扩缩容 如何配置
Kubernetes(k8s)提供了多种方式来根据流量自动扩缩容Pod,其中最常用的是使用Horizontal Pod Autoscaler(HPA)。
以下是在Kubernetes中配置HPA的步骤:
- 创建一个Deployment或ReplicaSet,这将是HPA的目标。例如:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 8080
- 创建HPA资源,指定目标Deployment或ReplicaSet的名称和CPU利用率阈值。例如:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 50
在这个例子中,HPA将尝试保持Deployment中的Pod的CPU使用率在50%以下,并根据需要扩展Pod的数量,最小数量为1,最大数量为10。
- 应用HPA资源:
$ kubectl apply -f my-app-hpa.yaml
现在,HPA将监视目标Deployment的CPU使用率,并自动扩展或缩小Pod的数量以保持CPU使用率在50%以下。
注意:配置HPA之前,确保集群中有可用的HorizontalPodAutoscaler控制器。您可以通过运行以下命令来检查是否已启用该控制器:
$ kubectl api-versions | grep autoscaling/v2beta1
``
原文地址: https://www.cveoy.top/t/topic/eDZc 著作权归作者所有。请勿转载和采集!