The documentation is under development and may contain incomplete information.
Placement strategies
There are 3 placement strategies for virtualization management components: master
, system
, any-node
.
master
The components are placed on master nodes. These are components that implement APIService, or components that run the Validating webhook or Mutating webhook.
system
By default, components with this strategy are placed on master nodes.
However, by creating a NodeGroup system
or virtualization
, you can remove the load from master nodes and move virtualization management components to dedicated nodes.
any-node
This is a tolerations set that permits the component to run on any node in the cluster.
Nodes for the system strategy
To allocate nodes for the system
strategy, you need to create a NodeGroup system
and add nodes to it.
d8 k create -f - <<EOF
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: system
spec:
nodeTemplate:
labels:
node-role.deckhouse.io/system: ""
taints:
- effect: NoExecute
key: dedicated.deckhouse.io
value: system
nodeType: Static
EOF
For a node to be added to the NodeGroup system
, its StaticInstance must have the label node-role.deckhouse.io/system
(for more details, see the section on adding a node using CAPS and label selector).
For example:
d8 k create -f - <<EOF
apiVersion: deckhouse.io/v1alpha1
kind: StaticInstance
metadata:
name: system-1
labels:
node-role.deckhouse.io/system: ""
spec:
address: "<SERVER-SYSTEM-IP1>"
credentialsRef:
kind: SSHCredentials
name: system-1-credentials
EOF
The system
strategy is used by other platform components, such as Prometheus. Therefore, when system nodes are created, some platform components will be move to them.
To allocate nodes for virtualization components, you need to create a NodeGroup virtualization
; platform components will not be placed on the nodes of this group.
d8 k create -f - <<EOF
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: virtualization
spec:
nodeTemplate:
labels:
node-role.deckhouse.io/virtualization: ""
taints:
- effect: NoExecute
key: dedicated.deckhouse.io
value: virtualization
nodeType: Static
EOF