我们希望将标准 GKE 集群迁移到 autopilot,但我们拥有的几个 pod 在启动后不需要太多 CPU/内存。然而,在启动过程中,我们希望一些 Pod 获得更多的 CPU,以便它们启动得更快。例如,考虑这个 pod:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-pod
labels:
name: my-pod
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
name: my-pod
template:
metadata:
labels:
name: my-pod
version: "1.0.0"
spec:
containers:
- name: my-pod
image: "europe-west1-docker.pkg.dev/my-repo/my-pod:1.0.0"
resources:
requests:
memory: "1024Mi"
cpu: "500m"
...
此 Pod 可能需要 2-3 分钟才能启动。如果我们将 CPU 更改为 2000m,它的启动速度会快得多。但这个pod是长期运行的,一旦运行起来就需要500m(或更少),我们没有必要支付2000m。我正在寻找类似于 Cloud Run Startup Boost 但适用于 GKE Autopilot 的东西。 这样的事情存在吗?
也许您应该寻找优化容器本身启动时间的方法。
您可以调高启动容器的资源请求,因此让它执行启动工作并将输出序列化到磁盘上的某个位置(或 /tmp 中),然后让运行时容器以较低的限制接管。