Select the node orchestrator¶
The workloads on your cluster can be scheduled by Kubernetes, Swarm, or a combination of the two. If you choose to run a mixed cluster, be aware that different orchestrators are not aware of each other, and thus there is no coordination between them.
Mirantis recommends that you decide which orchestrator you will use when initially setting up your cluster. Once you start deploying workloads, avoid changing the orchestrator setting. If you do change the node orchestrator, your workloads will be evicted and you will need to deploy them again using the new orchestrator.
Caution
When you promote a worker node to be a manager, its orchestrator type
automatically changes to Mixed
. If you later demote that node to be
a worker, its orchestrator type remains as Mixed
.
Note
The default behavior for Mirantis Secure Registry (MSR) nodes is to run in
the Mixed
orchestration mode. If you change the MSR orchestrator type to
Swarm or Kubernetes only, reconciliation will revert the node back to the
Mixed
mode.
Changing a node orchestrator¶
When you change the node orchestrator, existing workloads are evicted and they are not automatically migrated to the new orchestrator. You must manually migrate them to the new orchestrator. For example, if you deploy WordPress on Swarm, and you change the node orchestrator to Kubernetes, MKE does not migrate the workload, and WordPress continues running on Swarm. You must manually migrate your WordPress deployment to Kubernetes.
The following table summarizes the results of changing a node orchestrator.
Workload |
Orchestrator-related change |
---|---|
Containers |
Containers continue running on the node. |
Docker service |
The node is drained and tasks are rescheduled to another node. |
Pods and other imperative resources |
Imperative resources continue running on the node. |
Deployments and other declarative resources |
New declarative resources will not be scheduled on the node and existing ones will be rescheduled at a time that can vary based on resource details. |
If a node is running containers and you change the node to Kubernetes,
the containers will continue running and Kubernetes will not be aware of
them. This is functionally the same as running the node in the Mixed
mode.
Warning
The Mixed
mode is not intended for production use and it may impact
the existing workloads on the node.
This is because the two orchestrator types have different views of the node resources and they are not aware of the other orchestrator resources. One orchestrator can schedule a workload without knowing that the node resources are already committed to another workload that was scheduled by the other orchestrator. When this happens, the node can run out of memory or other resources.
Mirantis strongly recommends against using the Mixed
mode in production
environments.