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

如何在kubernetes中的yaml中添加新Pod属性,kubernetes,yaml,Kubernetes,Yaml,我想在Kubernetes中创建pod时在yaml文件中添加新的pod属性。 通过查看旧属性,我在kubernetes源代码中做了所有必要的更改,但仍然发现以下解析错误: 错误:验证podbox.yml时出错:验证数据时出错:找到v1.Pod的无效字段newproperty 示例Pod yaml文件: 版本:v1 种类:豆荚 元数据: 名称:podbox 名称空间:默认值 规格: 容器: -图片:busybox 命令: -睡眠 - 3600 imagePullPolicy:如果不存在 名称:p

我想在Kubernetes中创建pod时在yaml文件中添加新的pod属性。 通过查看旧属性,我在kubernetes源代码中做了所有必要的更改,但仍然发现以下解析错误:

错误:验证podbox.yml时出错:验证数据时出错:找到v1.Pod的无效字段newproperty

示例Pod yaml文件:

版本:v1 种类:豆荚 元数据: 名称:podbox 名称空间:默认值 规格: 容器: -图片:busybox 命令: -睡眠 - 3600 imagePullPolicy:如果不存在 名称:podbox 资源: 请求: 内存:64Mi 中央处理器:250米 限制: 内存:128英里 中央处理器:1 restartPolicy:始终 newproperty:false只需删除该行即可

newproperty:false


从您的YAML,您应该很好。

据我所知,您应该声明内部数据:

apiVersion: v1
kind: Pod
metadata:
  name: podbox
  namespace: default
data:
  newproperty: false
如果希望将环境变量传递给docker,请使用以下结构:

....
 containers:
  - name: name
    image: some_image
    env:
    - name: SOME_VAR
      value: "Hello from the kubernetes"
....

您不希望向kind:Pod添加新字段,因为这样您的Kubernetes代码将位于fork上,并且您的配置将不可移植

如果您计划向代码Kubernetes代码提交贡献,您应该首先加入相应的SIG SIG节点或SIG应用程序进行Pod更改,并获得建议更改的支持。有人可以向您指出示例PRs,您可以按照该示例添加字段

如果您只需要将一些额外的信息放入您或您自己的程序可以解析的Pod中,那么使用一个


如果您想在Kubernetes集群中创建新类型,请使用。

我想将其作为新属性添加到podEric中,请参见上面的注释above@puja我有一个更准确的方法更新的答复谢谢你的答复。但我如何在yaml文件的资源映射中再添加一种资源类型,如CPU和内存。示例:请求:内存:64Mi cpu:250m新资源:16mi我们能否在yaml文件中添加规范级别的新属性。有问题的代码已更新?我们正在维护我们自己的代码库,以备usI所做的更改。我们将按照Eric的建议添加它,如下所示:注释,这就是它们的用途。如果是扩展功能,请使用客户资源CRD(以前称为TPR)。然后,您的自定义控制器或调度程序可以对其进行操作。将K8s回购分叉为只添加一个字段并不是很有好处,因为每次上游更新都必须重新设置基础并重新构建。如果您只想引入不透明的整数资源,而不需要整个系统的任何特殊支持,那么请遵循以下步骤-