Menu Close

12.7.12. Creating Red Hat Enterprise Linux CoreOS (RHCOS) machines in vSphere

Before you install a cluster that contains user-provisioned infrastructure on VMware vSphere, you must create RHCOS machines on vSphere hosts for it to use.


  • Obtain the Ignition config files for your cluster.
  • Have access to an HTTP server that you can access from your computer and that the machines that you create can access.
  • Create a vSphere cluster.


  1. Upload the bootstrap Ignition config file, which is named <installation_directory>/bootstrap.ign, that the installation program created to your HTTP server. Note the URL of this file.

    You must host the bootstrap Ignition config file because it is too large to fit in a vApp property.

  2. Save the following secondary Ignition config file for your bootstrap node to your computer as <installation_directory>/append-bootstrap.ign.

      "ignition": {
        "config": {
          "append": [
              "source": "<bootstrap_ignition_config_url>", 1
              "verification": {}
        "timeouts": {},
        "version": "2.2.0"
      "networkd": {},
      "passwd": {},
      "storage": {},
      "systemd": {}
    Specify the URL of the bootstrap Ignition config file that you hosted.

    When you create the virtual machine (VM) for the bootstrap machine, you use this Ignition config file.

  3. Convert the master, worker, and secondary bootstrap Ignition config files to base64 encoding.

    For example, if you use a Linux operating system, you can use the base64 command to encode the files.

    $ base64 -w0 <installation_directory>/master.ign > <installation_directory>/master.64
    $ base64 -w0 <installation_directory>/worker.ign > <installation_directory>/worker.64
    $ base64 -w0 <installation_directory>/append-bootstrap.ign > <installation_directory>/append-bootstrap.64

    If you plan to add more compute machines to your cluster after you finish installation, do not delete these files.

  4. Obtain the RHCOS OVA image. Images are available from the RHCOS image mirror page.


    The RHCOS images might not change with every release of OpenShift Container Platform. You must download an image with the highest version that is less than or equal to the OpenShift Container Platform version that you install. Use the image version that matches your OpenShift Container Platform version if it is available.

    The filename contains the OpenShift Container Platform version number in the format rhcos-vmware.<architecture>.ova.

  5. In the vSphere Client, create a folder in your datacenter to store your VMs.

    1. Click the VMs and Templates view.
    2. Right-click the name of your datacenter.
    3. Click New FolderNew VM and Template Folder.
    4. In the window that is displayed, enter the folder name. If you did not specify an existing folder in the install-config.yaml file, create a folder with the same name as the infrastructure ID.
  6. In the vSphere Client, create a template for the OVA image and then clone the template as needed.


    In the following steps, you create a template and then clone the template for all of your cluster machines. You then provide the location for the Ignition config file for that cloned machine type when you provision the VMs.

    1. From the Hosts and Clusters tab, right-click your cluster name and select Deploy OVF Template.
    2. On the Select an OVF tab, specify the name of the RHCOS OVA file that you downloaded.
    3. On the Select a name and folder tab, set a Virtual machine name for your template, such as Template-RHCOS. Click the name of your vSphere cluster and select the folder you created in the previous step.
    4. On the Select a compute resource tab, click the name of your vSphere cluster.
    5. On the Select storage tab, configure the storage options for your VM.

      • Select Thin Provision or Thick Provision, based on your storage preferences.
      • Select the datastore that you specified in your install-config.yaml file.
    6. On the Select network tab, specify the network that you configured for the cluster, if available.
    7. When creating the OVF template, do not specify values on the Customize template tab or configure the template any further.


      Do not start the original VM template. The VM template must remain off and must be cloned for new RHCOS machines. Starting the VM template configures the VM template as a VM on the platform, which prevents it from being used as a template that machine sets can apply configurations to.

  7. After the template deploys, deploy a VM for a machine in the cluster.

    1. Right-click the template’s name and click CloneClone to Virtual Machine.
    2. On the Select a name and folder tab, specify a name for the VM. You might include the machine type in the name, such as control-plane-0 or compute-1.
    3. On the Select a name and folder tab, select the name of the folder that you created for the cluster.
    4. On the Select a compute resource tab, select the name of a host in your datacenter.
    5. Optional: On the Select storage tab, customize the storage options.
    6. On the Select clone options, select Customize this virtual machine’s hardware.
    7. On the Customize hardware tab, click VM OptionsAdvanced.

      • Optional: In the event of cluster performance issues, from the Latency Sensitivity list, select High.
      • Click Edit Configuration, and on the Configuration Parameters window, click Add Configuration Params. Define the following parameter names and values:

        • Paste the contents of the base64-encoded Ignition config file for this machine type.
        • Specify base64.
        • disk.EnableUUID: Specify TRUE.
      • Alternatively, prior to powering on the virtual machine add via vApp properties:

        • Navigate to a virtual machine from the vCenter Server inventory.
        • On the Configure tab, expand Settings and select vApp options.
        • Scroll down and under Properties apply the configurations from above.
    8. In the Virtual Hardware panel of the Customize hardware tab, modify the specified values as required. Ensure that the amount of RAM, CPU, and disk storage meets the minimum requirements for the machine type.
    9. Complete the configuration and power on the VM.
  8. Create the rest of the machines for your cluster by following the preceding steps for each machine.


    You must create the bootstrap and control plane machines at this time. Because some pods are deployed on compute machines by default, also create at least two compute machines before you install the cluster.