我想在kubernetes中创建pod时在yaml文件中添加新的pod属性。 通过查看旧属性,我在kubernetes源代码中做了所有必需的更改,但我仍然得到以下解析错误:
错误:验证“podbox.yml”时出错:验证数据时出错:找到v1.Pod无效字段newproperty
示例Pod yaml文件:
apiVersion: v1
kind: Pod
metadata:
name: podbox
namespace: default
spec:
containers:
- image: busybox
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: podbox
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "1"
restartPolicy: Always
newproperty: false
`newproperty`
创建Pod时没有被解析。
是否需要进行任何具体更改?
答案 0 :(得分:2)
您不想向kind: Pod
添加新字段,因为那时您的Kubernetes代码将位于分叉上,您的配置将是不可移植的。
如果您计划提交代码Kubernetes代码,则应首先加入相应的SIG(用于Pod更改的sig-node或sig-app)并获得对您提议的更改的支持。有人可以指向您可以按照以添加字段的示例PR。
如果您只需要在您或您自己的程序可以解析的Pod中添加一些额外信息,请使用annotation。
如果要在Kubernetes群集中创建新类型,请使用Custom Resource。
答案 1 :(得分:0)
只需删除
行即可 newproperty: false
你应该没事。
答案 2 :(得分:-1)
据我所知,你应该在内部数据中声明:
apiVersion: v1
kind: Pod
metadata:
name: podbox
namespace: default
data:
newproperty: false
如果您希望将环境变量传递给泊坞窗,请使用此结构:
....
containers:
- name: name
image: some_image
env:
- name: SOME_VAR
value: "Hello from the kubernetes"
....