Creating Talos Kubernetes cluster using VMware.
govc
CLIgovc
cli which can be downloaded here.
vmx-15
hardware version, this requires a minimum of ESXi 6.7U2.
To check your version of ESXi refer to the following Broadcom
KB article.
More information regarding virtual machine hardware versions can be found in the following Broadcom
KB article.
talosctl gen config ...
command.
Take note that we will also use a JSON6902 patch when creating the configs so that the control plane nodes get some special information about the VIP we chose earlier, as well as a daemonset to install vmware tools on talos nodes.
First, download cp.patch.yaml
to your local machine and edit the VIP to match your chosen IP.
You can do this by issuing:
Itβs contents should look like the following:
cp.patch.yaml
file downloaded earlier, or create your own patch files.
Note: Using VMXNET network interfaces in VMware will cause the default Flannel CNI backend (vxlan) to not work between nodes. To avoid this problem it is recommended to use Intel e1000 network interfaces or apply the patch below to use the host gateway backend.If you apply the patch you can save this to a separate file (e.g. cni-patch.yaml) and apply it via
talosctl
.
govc
makes use of the following environment variables
Note: If your vCenter installation makes use of self signed certificates, youβll want to export GOVC_INSECURE=true
.
There are some additional variables that you may need to set:
vmware.sh
script to your local machine.
You can do this by issuing:
This script has default variables for things like Talos version and cluster name that may be interesting to tweak before deploying.
The script downloads VMWare OVA with talos-vmtoolsd
from
Image Factory
extension pre-installed.
talos.ova
asset is available from Image Factory.
We will refer to the version of the release as $TALOS_VERSION
below.
It can be easily exported with export TALOS_VERSION="v0.3.0-alpha.10"
or similar.
The download link already includes the talos-vmtoolsd
extension.
guestinfo
facility of VMware to provide the machine/cluster configuration.
This can be set using the govc vm.change
command.
To facilitate persistent storage using the vSphere cloud provider integration with Kubernetes, disk.enableUUID=1
is used.
-c
is used to configure the number of cpus-m
is used to configure the amount of memory (in MB)kubeconfig
kubeconfig
by running:
talos-vmtoolsd