【问题标题】:The extention of updateable fields in PodPod中可更新字段的扩展
【发布时间】:2021-09-26 03:42:06
【问题描述】:

不知道为什么只能修改一个pod的某些字段。 可更新的字段有:

  1. spec.containers[*].image
  2. spec.initContainers[*].image
  3. spec.activeDeadlineSeconds 1

在我的实际业务中,我需要更改一个 pod 的 schedulername。 所以我更改了validation.go文件中的验证码。我创建了第二个调度程序,名为 kube-scheduler-test。 That is pod whose schedulername is kube-scheduler-test 当我创建一个调度程序名称为 kube-scheduler-test 的新 pod 时,kube-scheduler-test 会将 pod 的调度程序名称更新为 default-scheduler。 然后 default-scheduler 会将这个 pod 调度到指定的节点。

你能解释一下为什么只能修改一个pod的某些字段,以及我更改调度器名称的方法是否可以接受?

【问题讨论】:

    标签: kubernetes kubernetes-pod


    【解决方案1】:

    Pod 被设计为disposable,将它们视为不可变。当您想要更改 Pod 的任何内容时,您创建一个新的 Pod,并丢弃旧的 Pod

    有很多文章解释immutable infrastructure

    【讨论】:

    • 但是当你创建一个新的 Pod 并丢弃旧的 Pod 时,Pod 的 ID 会发生变化。这对某些用户不利
    • 用户不应依赖特定的 Pod ID
    • 谢谢。我更改validation.go代码以更新Pod的调度程序名称的方法可以接受吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    相关资源
    最近更新 更多