Kubernetes(k8s)提供了多种方式来根据流量自动扩缩容Pod,其中最常用的是使用Horizontal Pod Autoscaler(HPA)。

以下是在Kubernetes中配置HPA的步骤:

  1. 创建一个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
  1. 创建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。

  1. 应用HPA资源:
$ kubectl apply -f my-app-hpa.yaml

现在,HPA将监视目标Deployment的CPU使用率,并自动扩展或缩小Pod的数量以保持CPU使用率在50%以下。

注意:配置HPA之前,确保集群中有可用的HorizontalPodAutoscaler控制器。您可以通过运行以下命令来检查是否已启用该控制器:

$ kubectl api-versions | grep autoscaling/v2beta1
``
k8s pod根据流量自动扩缩容 如何配置

原文地址: https://www.cveoy.top/t/topic/eDZc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录