如何在Kubernetes Pod中设置pid限制?

时间:2019-05-23 10:08:47

标签: kubernetes

我正在寻找一种限制Kubernetes窗格中的pid数量的方法。

以下问题似乎很久以前已经解决(已经实施)。

https://github.com/kubernetes/kubernetes/issues/43783

但是参考文献中似乎还什么都没有。

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/

拉取请求似乎也已合并

https://github.com/kubernetes/kubernetes/commit/bf111161b7aa4a47cc42ee6061b6bd3e45872cc4

我想知道我们现在是否可以使用此功能。如果是这样,如何在yaml文件中进行设置?

2 个答案:

答案 0 :(得分:1)

参数(PodPidsLimit)是kubelet配置的一部分: https://godoc.org/k8s.io/kubernetes/pkg/kubelet/apis/config#KubeletConfiguration

要查看当前配置以及该参数在当前版本中是否可用: https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/#generate-the-configuration-file

请记住,这意味着您无法在Pod中配置限制,需要为节点中的所有Pod设置限制

答案 1 :(得分:0)

您可以通过在此处启用SupportPodPidsLimit功能门来在Kubelet中配置该限制

--pod-max-pids=<specify_pids_limit> --feature-gates=SupportPodPidsLimit=true

选中here以了解功能门

更新:

kubeadm支持的功能门与Kubelet支持的功能门不同。 我正在使用的kubeadm版本:

kubeadm version: &version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:20:34Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

要支持上述功能门,您需要执行以下步骤:

创建一个名为config.yaml的文件,并将其写入文件:

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
featureGates:
   SupportPodPidsLimit: true

然后像这样运行init命令:

   kubeadm init --config=config.yaml

检查存储在/var/lib/kubelet/config.yaml中的Kubelet的配置文件