GKE Autopilot 已根据资源请求扩展了我的容器资源

har*_*ryg 6 kubernetes google-kubernetes-engine

我有一个在 GKE Autopilot K8s 集群中运行的容器。我的部署清单中有以下内容(仅包含相关部分):

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
          resources:
            requests:
              memory: "250Mi"
              cpu: "512m"
Run Code Online (Sandbox Code Playgroud)

因此,我请求了GKE Autopilot 允许普通 Pod 使用的最低资源。请注意,我没有指定limits.

但是,应用清单并查看 yaml 后,我发现它与我应用的清单中的内容不匹配:

    resources:
      limits:
        cpu: 750m
        ephemeral-storage: 1Gi
        memory: 768Mi
      requests:
        cpu: 750m
        ephemeral-storage: 1Gi
        memory: 768Mi
Run Code Online (Sandbox Code Playgroud)

知道这是怎么回事吗?为什么 GKE 扩大了资源规模?这会不必要地花费我更多的钱吗?

有趣的是,直到最近它才按预期工作。这种行为似乎是最近几天才开始的。

Daw*_*ruk 12

如果您请求的资源如下:

              memory: "250Mi"
              cpu: "512m"
Run Code Online (Sandbox Code Playgroud)

那么他们就不符合GKE Autopilot分配的最低资源量。请看一下文档:

姓名 普通 Pod
中央处理器 250核CPU
记忆 第512章
临时存储 10 MiB(每个容器)

-- Cloud.google.com:Kubernetes Engine:文档:概念:Autopilot 概述:允许的资源范围

正如您所看到的,您请求的内存量太小,这就是您看到以下消息的原因(并且清单已被修改以创建requests/ limits):

              memory: "250Mi"
              cpu: "512m"
Run Code Online (Sandbox Code Playgroud)

要解决此问题,您需要分配文档限制内的资源,我已将其包含在上面的链接中。