如何在GKE自动驾驶仪中实现基于自定义度量的水平自动缩放



我在GKE自动驾驶上运行Kubernetes集群

我有这样的Pod:等待作业,运行作业(这可能需要几分钟或几个小时),然后进入Pod Succeeded State,这将导致Kubernetes重新启动Pod。

我需要的pod数量是可变的,这取决于平台上有多少用户。每个用户都可以请求一个需要pod才能运行的作业。

我不希望用户不得不等待pod扩展,所以我想保持一些额外的pod准备好并等待执行。

我的pod正在运行的应用程序可以在3个状态- {waiting for job,running job,completed job}

扩展是很好的,因为我可以使用扩展API,并始终要求有一定百分比的pod处于waiting for job状态

当缩小时,我想确保Kubernetes不会杀死任何处于running job状态的pod。

我应该实现自定义水平Pod自动缩放器吗?

我可以为我的pod的应用程序状态配置自定义探针吗?

我也可以使用pod优先级或preStop钩子

你可以配置水平Pod自动缩放,以确保Kubernetes不会杀死任何Pod。

配置水平pod缩放的步骤:

创建部署,应用nginx。

执行以下命令:
kubectl apply -f nginx.yaml

基于资源利用率的自动缩放

1-进入Cloud Console的workload页面。

2-单击nginx部署的名称。

3-Click listActions>自动定量.

4-指定以下值:

-最小副本数: 1 .

-最大副本数: 10

-自动缩放度量: CPU

-: 50

<-单位/strong>: %

5-Click.

6-Click自动定量.

要获取集群中的水平Pod自动缩放器列表,请使用以下命令:

kubectl get hpa

如何配置水平pod自动缩放指南。

您还可以在Cloud Console上使用自定义度量来参考GKE自动驾驶集群的自动缩放规则链接。

相关内容

  • 没有找到相关文章

最新更新