apiVersion: v1
baseDomain: example.com
compute:
- name: worker
platform: {}
replicas: 0
# ...
In OKD version 4.19, 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: {}