K8s的官方文档指出,必须在apiserver的--enable-admission-plugins中包含ResourceManager才能启用资源配额。https://kubernetes.io/docs/concepts/policy/resource-quotas/#enabling-resource-quota
在某个K8s 1.19环境中,我在--enable-admission-plugins中没有找到ResourceQuota配置,但是一旦为每个队列空间设置了resourcequota,这个resourcequota就会生效。enter image description here
此外,通过检查apiserver的源代码,(release-1.28),pkg/admission/plugin/resourcequota/admission.go中的Register方法没有被引用。在pkg/server/options/admission.go中,AdmissionOptions的register方法会检查配置中的插件是否注册,如果没有注册,则返回错误。这个register方法是从RecommendedOptions的register方法调用的,但不调用NewRecommendedOptions。
我糊涂了
如果有Maven的指导,我将不胜感激。谢谢。
我想弄清楚K8s中的ResourceSort是如何生效的。我想从源代码中找到依据。
1条答案
按热度按时间edqdpe6u1#
我自己找到了这个问题的答案,vendor/k8s.io/apiserver/pkg/server/options/admission.go中AdmissionOptions的“enablePluginNames”函数就是答案。
字符串
RecommendedPluginOrder中的插件只要没有被禁用,就会默认启用。
RecommendedPlugionOrder在pkg/kubeapiserver/options/admission. go中的NewAdmissionOptions方法中初始化。
型
AllOrderedPlugins是这样声明的:
型
因此,默认情况下将启用ResourcesPlugin,事件不会在--enable-admission-plugins参数中声明。