OpenShift Node Selector Operations

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

Operations to manipulate node selectors.

Configuring a Cluster-Wide Default Node Selector

Sets up a cluster-wide default node selector:

  • Edit the master configuration file /etc/origin/master/master-config.yaml and add or modify the value for the default node selector:
...
projectConfig:
  defaultNodeSelector: "color=red,flavor=vanilla"
...

The master must be restarted to change to take effect:

Restart the Master Process

External Resources

Configuring a Per-Project Node Selector

When the Project is Created

The per-project node selector can be set up when the project is created:

oadm new-project <project-name> --node-selector='keyA=valueA,keyB=valueB'

More details in:

oadm new-project

After the Project was Created

The node selector can be added after the project was created by editing the namespace metadata with oc edit:

oc edit namespace <my-project>
...
metadata:
  annotations:
    openshift.io/node-selector: "env=infra"
...

Edit the "namespace", and not the "project", if attempting to edit the project you will get an error message saying that the field is immutable.

External Resources

Configuring a Per-Pod Node Selector

https://docs.openshift.com/container-platform/3.5/admin_guide/managing_projects.html#developer-specified-node-selectors

A per-pod node selector can only be assigned when the pod is created:

apiVersion: v1
kind: Pod
spec:
  nodeSelector:
    keyA: valueA
    ...

Once the pod has been created, the value becomes immutable and an attempt to change it will fail. For more details on pod state see Pods.