Choose Node Class
Some zones of APPUiO Cloud provide two or more node classes you can choose from to schedule your workload. For an explanation of what node classes are and which ones are available, please have a look at Node Classes.
This page will explain how to have workloads scheduled on a specific node class. This works for all workloads within a given namespace, but it can also be done for a single Pod. It’s also possible to set a node class as default for a namespace, while selected Pods run on another node class.
Your workload might get stuck with Pods in the
This happens, when you set a node class that doesn’t exist on the system. |
Setting Namespace Defaults
You can set the node class on a namespace level by setting the appuio.io/default-node-selector
annotation on the namespace.
The value of the annotation is a comma-separated list of key-value pairs that are expanded to a node selector.
apiVersion: v1
kind: Namespace
metadata:
annotations:
appuio.io/default-node-selector: "appuio.io/node-class=plus" (1)
name: my-namespace
1 | The node class to use for workloads in this namespace. |
Setting Workload Node Selector
Single Pods and their controllers can override the node class by setting the .spec.nodeSelector
field.
Setting a node selector here overrides the namespace default and the cluster default.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 1
selector:
matchLabels:
app: my-deployment
template:
metadata:
labels:
app: my-deployment
spec:
nodeSelector:
appuio.io/node-class: plus (1)
containers:
- name: my-deployment
image: my-image
1 | The node class to use for this workload. |