我正在寻找一种限制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文件中进行设置?
答案 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的配置文件