【问题标题】:Does Google Container Engine have CFS cpu quota enabled?Google Container Engine 是否启用了 CFS cpu 配额?
【发布时间】:2016-12-10 17:41:49
【问题描述】:

我在 Kubernetes pod 上设置了 cpu 限制,但它们似乎根本没有限制在 Google Container Engine 版本 1.3.3 上运行的 cpu 使用率

阅读https://github.com/kubernetes/kubernetes/tree/master/examples/runtime-constraints这必须在kubelet上启用,如下所示:

kubelet --cpu-cfs-quota=true

但是,当登录到我的集群的一个节点时检查进程时,kubelet 似乎缺少这个标志:

/usr/local/bin/kubelet --api-servers=https://xxx.xxx.xxx.xxx --enable-debugging-handlers=true --cloud-provider=gce --config=/etc/kubernetes/manifests --allow-privileged=True --v=2 --cluster-dns=10.223.240.10 --cluster-domain=cluster.local --configure-cbr0=true --cgroup-root=/ --system-cgroups=/system --runtime-cgroups=/docker-daemon --kubelet-cgroups=/kubelet --node-labels=cloud.google.com/gke-nodepool=default-pool --babysit-daemons=true --eviction-hard=memory.available<100Mi

是否有任何 Google 员工能够确认它是否启用,如果不能,请告诉我们原因?现在看来我没有选择使用 cpu 限制,而启用它后,如果我不想使用它,我可以将 cpu 限制排除在我的规范之外。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    默认情况下,Google Container Engine 不支持 CPU 配额。如果您想使用 CPU 配额,您可以切换到使用 GCI 节点映像 - https://cloud.google.com/container-engine/docs/gci。 GCI 支持 CPU 配额,Container Engine 将自动开始支持容器上的 CPU limits

    【讨论】:

      【解决方案2】:

      那个标志是default value is true :)

      是的,它在 Container Engine 中启用。

      编辑:我错了 - 该标志已启用,但 GKE 使用的默认操作系统不支持它。 Vishnu Kannan 的答案是正确的!

      【讨论】:

      • 虽然我的一个 pod/containers 远远超出了它的限制,但已经足够有趣了。我会尝试重现它并添加更多细节。
      • 不幸的是,我可以看到 cpu 远远超出其定义的限制。你确定 Container Engine 使用 SimpleRunKubelet 吗?除了设置为 true 之外,我没有看到 CPUCFSQuota 属性在代码中的任何地方以强制执行任何操作的方式使用:github.com/kubernetes/kubernetes/…
      • 一个 cpu hog 的平均 cpu 消耗实际上在配置的限制附近,但是偏差的幅度比我预期的要大得多。 1000m 时最高可达 +50%。
      猜你喜欢
      • 2012-02-22
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 2018-02-14
      • 2012-07-04
      • 1970-01-01
      相关资源
      最近更新 更多