我来也
2018-09-27
在使用PodPreset对象时,发现并未生效,最终才知道是因为当初安装时未启用 Pod Preset.然后参考[https://kubernetes.io/docs/concepts/workloads/pods/podpreset/#enable-pod-preset] 修改 [/etc/kubernetes/manifests/kube-apiserver.yaml] 中的spec.containers.command: 修改原[ - --runtime-config=api/all=true]为[- --runtime-config=api/all=true,settings.k8s.io/v1alpha1=true], 新加一行[- --enable-admission-plugins=PodPreset] 可以等自动生效也可以强制重启[systemctl restart kubelet]. 然后再重新创建,就可以在pod中看见spec.containers.env.name:DB_PORT等信息了.

作者回复: 对。新特性需要先启用。

13
24
评论 13
郭贻铖
v1.20.4直接搞死
2021-02-22
1
我来也
郭贻铖
😄 这都经过好多个k8s的大版本啦
2021-02-23
一秒
郭贻铖
老哥找到解决方法了吗
2021-02-25
eagle
2021年过来挖坟,发现 PodPreset 官方文档都 404 了
2021-01-22
我来也
eagle
哈哈,k8s变化太快了。好像现在有官方中文文档。😄
2021-01-22
半 檐 疏 雨
我在 v1.20.1 中这样配置,集群重启会失败。在官方文档中找到关于PodPreset的资料,只有v1.18版本的文档资料。
然后我重新创建一个v1.18.3的Kubernetes集群。使用同样的方式开启PodPreset特性后,集群重启成功。创建pod也能成功创建。

大佬指点一下!!!
是不是PodPreset特性在v1.19开始,开启的方式发生了变化?还是PodPreset特性更换为别的了?
2021-01-13
我来也
半 檐 疏 ...
你这个太超前了,哈哈。我也没玩过。
2021-01-13
程序员jinjunzhu
我的是v1.17.3版本,增加下面配置后就可以了

vi /etc/kubernetes/manifests/kube-apiserver.yaml
#增加这一行
- --runtime-config=settings.k8s.io/v1alpha1=true
#在下一行后面增加",PodPreset"
- --enable-admission-plugins=NodeRestriction
2020-07-03
1
sam700000
多谢,我照着改,然后重启kubelet就行了,kubernetes版本1.5.2
2019-10-05
Geek_hander
应该是要重启apiserver:systemctl restart kube-apiserver
2019-09-29
崔根禄
Geek_hander
你的版本是多少啊?我的1.16的还是不行
2019-12-11
Geek_b59356
改了这两行配置还是不行,不知道什么原因。
2019-06-26
崔根禄
Geek_b59356
我也是,你后来找到原因了吗
2019-12-09