Skip to main content

Upload image

Oracle Cloud at the moment does not have a Talos official image. So you can use Bring Your Own Image (BYOI) approach. Prepare an image for upload:
  1. Generate an image using Image Factory.
  2. Download the disk image artifact in qcow2 format (e.g: Oracle arm64 )
  3. Define the image metadata file called image_metadata.json. Example for an arm64 deployment:
  4. Create an archive containing the image and metadata called talos-oracle-arm64.oci:
  5. Upload the image to a storage bucket.
  6. Create an image, using the new URL format for the storage bucket object.
Note: file names depends on configuration of deployment such as architecture, adjust accordingly.

Talos config

OracleCloud has highly available NTP service, it can be enabled in Talos machine config with:

Creating a cluster via the CLI

Login to the console. And open the Cloud Shell.

Create a network

Create a load balancer

Create a load balancer by issuing the commands shown below. Save the IP/DNS name, as this info will be used in the next step.

Create the machine configuration files

Generating base configurations

Using the IP/DNS name of the loadbalancer created earlier, generate the base configuration files for the Talos machines by issuing:
At this point, you can modify the generated configs to your liking. Optionally, you can specify machine configuration patches which will be applied during the config generation.

Validate the configuration files

Validate any edited machine configs with:

Create the servers

Create the control plane nodes

Create the control plane nodes with:

Create the worker nodes

Create the worker nodes with the following command, repeating (and incrementing the name counter) as many times as desired.

Bootstrap etcd

To configure talosctl we will need the first control plane node’s IP. This can be found by issuing:
Set the endpoints and nodes for your talosconfig with:
Bootstrap etcd on the first control plane node with:

Retrieve the kubeconfig

At this point we can retrieve the admin kubeconfig by running: