【问题标题】:How to add new Pod property in yaml in kubernetes如何在 Kubernetes 的 yaml 中添加新的 Pod 属性
【发布时间】:2017-08-08 14:40:42
【问题描述】:

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

错误:验证“podbox.yml”时出错:验证数据时出错:发现 v1.Pod 的新属性无效字段

示例 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 时没有被解析。

是否需要进行任何特定更改?

【问题讨论】:

    标签: kubernetes yaml


    【解决方案1】:

    您不想向kind: Pod 添加新字段,因为这样您的 Kubernetes 代码将位于一个分支上,并且您的配置将是不可移植的。

    如果您计划向 Kubernetes 代码提交代码,您应该首先加入适当的 SIG(用于 Pod 更改的 sig-node 或 sig-apps)并获得对您提议的更改的支持。那里的人可以向您指出示例 PR,您可以按照这些 PR 来添加字段。

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

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

    【讨论】:

    • 感谢您的回复。但是如何在 yaml 文件的资源 MAP 中添加一种资源类型,例如 CPU 和内存。示例:请求:内存:“64Mi” cpu:“250m” newResource:“16Mi”
    • 我们可以在 yaml 文件中添加规范级别的新属性吗?(有问题的代码已更新)?
    • 我们正在维护自己的代码存储库,以供我们所做的更改
    • 我会遵循 Eric 的建议并将其添加为注释,这就是它们的用途。如果它是扩展功能,请使用客户资源(CRD 以前称为 TPR)。然后,您的自定义控制器或调度程序可以对此采取行动。将 K8s 存储库分叉以仅添加一个字段并不是很有用,因为每次上游更新都必须重新构建基础并重新构建。
    • 如果您只想介绍一个不透明的整数资源,它不需要跨系统的任何特殊支持,那么请遵循此 - kubernetes.io/docs/concepts/configuration/…
    【解决方案2】:

    删除线

    newproperty: false

    来自你的 YAML,你应该没问题。

    【讨论】:

    • 我想把它作为一个新的属性添加到 pod 中
    • 埃里克在上面回答得很好(见我上面的评论)
    【解决方案3】:

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

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

    【讨论】:

    • @puja 我用更准确的方法更新响应
    猜你喜欢
    • 1970-01-01
    • 2020-07-23
    • 2020-11-19
    • 1970-01-01
    • 2018-08-17
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多