我已经在我的Kubernetes pod上设置了cpu限制,但它们似乎没有限制在Google容器引擎版本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限制超出我的规范。
答案 0 :(得分:2)
默认情况下,Google容器引擎不支持CPU配额。如果您想使用CPU配额,可以切换到使用GCI节点映像 - https://cloud.google.com/container-engine/docs/gci。
GCI支持CPU配额,Container Engine会自动开始支持容器上的CPU @Component({...})
。
答案 1 :(得分:1)
那面旗帜default value is true:)
是的,它在Container Engine中启用。
编辑:我错了 - 标志已启用,但GKE使用的默认操作系统不支持它。 Vishnu Kannan的回答是正确的!