Adding pod nodeSelector after creation

2/16/2016

Using OpenShift 3.1/K8 1.1 and given a pod that has already been created with/without a nodeSelector. I.e.

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

Is it possible to change/add a nodeSelector?

Similar to the way you add/modify labels

-- Donovan Muller
kubernetes
openshift-origin

2 Answers

2/16/2016

You can change it in the associated ReplicationController (if any) but not in the definition of a running Pod. If you edit the RC as suggested the Pod itself must be recreated in order to start on the selected node(s).

-- Antoine Cotten
Source: StackOverflow

2/18/2016

In OpenShift if you are using a deployment config (the predecessor to Kube's Deployment object) you can edit your DC and add them. On the cli it's:

oc edit dc/NAME

That will trigger a rolling update that creates a new RC and scales down the old, unlabeled pods.

-- Clayton
Source: StackOverflow