如何在kubernetes中添加yaml中的新Pod属性

时间:2017-08-07 06:53:04

标签: kubernetes yaml

我想在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时

没有被解析。

是否需要进行任何具体更改?

3 个答案:

答案 0 :(得分:2)

您不想向kind: Pod添加新字段,因为那时您的Kubernetes代码将位于分叉上,您的配置将是不可移植的。

如果您计划提交代码Kubernetes代码,则应首先加入相应的SIG(用于Pod更改的sig-node或sig-app)并获得对您提议的更改的支持。有人可以指向您可以按照以添加字段的示例PR。

如果您只需要在您或您自己的程序可以解析的Pod中添加一些额外信息,请使用annotation

如果要在Kubernetes群集中创建新类型,请使用Custom Resource

答案 1 :(得分:0)

只需删除

行即可

newproperty: false

从你的YAML

你应该没事。

答案 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"
....