apiVersion: v1
baseDomain: example.com
compute:
- name: worker
platform: {}
replicas: 0
# ...
In OKD version 4.17, you can install a three-node cluster on VMware vSphere. A three-node cluster consists of three control plane machines, which also act as compute machines. This type of cluster provides a smaller, more resource efficient cluster, for cluster administrators and developers to use for testing, development, and production.
You can install a three-node cluster using either installer-provisioned or user-provisioned infrastructure.
You configure a three-node cluster by setting the number of worker nodes to 0
in the install-config.yaml
file before deploying the cluster. Setting the number of worker nodes to 0
ensures that the control plane machines are schedulable. This allows application workloads to be scheduled to run from the control plane nodes.
Because application workloads run from control plane nodes, additional subscriptions are required, as the control plane nodes are considered to be compute nodes. |
You have an existing install-config.yaml
file.
Set the number of compute replicas to 0
in your install-config.yaml
file, as shown in the following compute
stanza:
install-config.yaml
file for a three-node clusterapiVersion: v1
baseDomain: example.com
compute:
- name: worker
platform: {}
replicas: 0
# ...
If you are deploying a cluster with user-provisioned infrastructure:
Configure your application ingress load balancer to route HTTP and HTTPS traffic to the control plane nodes. In a three-node cluster, the Ingress Controller pods run on the control plane nodes. For more information, see the "Load balancing requirements for user-provisioned infrastructure".
After you create the Kubernetes manifest files, make sure that the spec.mastersSchedulable
parameter is set to true
in cluster-scheduler-02-config.yml
file. You can locate this file in <installation_directory>/manifests
.
For more information, see "Creating the Kubernetes manifest and Ignition config files" in "Installing a cluster on vSphere with user-provisioned infrastructure".
Do not create additional worker nodes.
cluster-scheduler-02-config.yml
file for a three-node clusterapiVersion: config.openshift.io/v1
kind: Scheduler
metadata:
creationTimestamp: null
name: cluster
spec:
mastersSchedulable: true
policy:
name: ""
status: {}