创建后添加 pod nodeSelector

Adding pod nodeSelector after creation

使用 OpenShift 3.1/K8 1.1 并给定一个已经创建的 pod with/without nodeSelector。 即

apiVersion: v1
  kind: Pod
  metadata:
    generateName: blah-
    labels:
      name: blah
  spec:
    containers:
        image: some/image
        name: blah-image
        ports:
          - containerPort: 8080
    nodeSelector: # can you add this after this pod has been created?
      region: infra

是否可以change/add一个nodeSelector

和你的方法一样add/modifylabels

您可以在关联的 ReplicationController(如果有)中更改它,但不能在 运行 Pod 的定义中更改。如果您按照建议编辑 RC,则必须重新创建 Pod 本身 才能在所选节点上启动。

在 OpenShift 中,如果您使用部署配置(Kube 部署对象的前身),您可以编辑 DC 并添加它们。在 cli 上是:

oc edit dc/NAME

这将触发滚动更新,创建新的 RC 并缩减旧的、未标记的 pods。