Optional: Manually import OVAs to vSphere

This document shows how to manually import the OVAs needed for your cluster nodes to vSphere.

Typically there is no need to manually import OVAs, because gkectl imports the OVAs automatically.

The typical procedure is as follows:

  • Create an admin workstation.

  • On your admin workstation, create a cluster configuration file.

  • On your admin workstation, run gkectl prepare. This command fetches the OVAs from a Cloud Storage bucket, imports the OVAs to vSphere, and marks the OVAs as templates.

  • On your admin workstation, run gkectl create to create a cluster.

Why manually import?

If your security policies do not allow your admin workstation to have access to your ESXI hosts, then gkectl cannot automatically import OVAs to vSphere.

Also, if you want to use Windows Server for some of your user clusster nodes, you must manually import an OVA. For more information, see Windows Server.

Determine which OVAs you need

Before you create an admin cluster, you fill in an admin cluster configuration file. In the configuration file, you set the osImageType field to specify the type of OS image you want to use for your admin cluster nodes. The options are:

  • Ubuntu with containerd
  • Ubuntu
  • Container Optimized OS (COS)

Before you create a user cluster, you fill in a user cluster configuration file. In the configuration file, you specify one or more node pools. For each node pool, you specify the type of OS image you want to use for the nodes in the pool.

The options are:

  • Ubuntu with containerd
  • Ubuntu
  • Container Optimized OS (COS)
  • Windows Server

For each OS that you plan to use in an admin cluster or user cluster, you need to download the OS image from Cloud Storage and import it to vSphere.

Ubuntu or Ubuntu with containerd

Download the Ubuntu OVA from Cloud Storage:

gcloud storage cp gs://gke-on-prem-release/node-os-ubuntu/gke-on-prem-ubuntu-VERSION.ova ./

Replace VERSION with the complete version number, for example, 1.30.300-gke.84. To get the version number, see Versioning.

Import the OVA to vSphere and mark it as a template:

govc import.ova -options - gke-on-prem-release/node-os-ubuntu/gke-on-prem-ubuntu-VERSION.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true
}
EOF

Container Optimized OS

Download the COS OVA from Cloud Storage:

gcloud storage cp gs://gke-on-prem-release/node-os-cos/gke-on-prem-cos-VERSION.ova ./

Replace VERSION with the complete version number, for example, 1.30.300-gke.84. To get the version number, see Versioning.

Import the OVA to vSphere and mark it as a template:

govc import.ova -options - gke-on-prem-release/node-os-cos/gke-on-prem-cos-VERSION.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true
}
EOF

Windows Server

Follow these steps: Create a VMware vSphere template for Windows Server 2019.

For more information, see Windows Server node pools.