Environment setup
You should have an existing openrc file. This file will provide environment variables necessary to talk to your OVHCloud. See here for instructions on fetching this file. Set environment variables:Step 1. Create the image
First, download the OpenStack image from Image Factory. These images are calledopenstack-$ARCH.raw.xz.
Decompress this file with unxz openstack-$ARCH.raw.xz.
The resulting file will be called openstack-$ARCH.raw.
Upload the image
Once you have the image, you can upload to OpenStack with:Step 2. Network infrastructure (Optional)
If you have an existing network infrastructure, you can skip this step. If not, you can follow the instructions below to create the necessary network infrastructure for your cluster. We will create a private network, subnet, and gateway for our cluster. This will allow our cluster to communicate with the outside world and with each other.Private network, subnet, gateway
Security groups
This example uses the default security group in OpenStack. Ports have been opened to ensure that connectivity from both inside and outside the group is possible. You will want to allow, at a minimum, ports 6443 (Kubernetes API server) and 50000 (Talos API) from external sources. It is also recommended to allow communication over all ports from within the subnet.Step 3. Compute
Once the image is uploaded and the network infrastructure is in place, we can create our compute instances. We will create 3 control plane nodes.Load balancer
Once the compute instances are created, we need to create a load balancer to load balance traffic to the control plane nodes. Running the following commands can take a few minutes to complete as the load balancer is being provisioned.Step 4. Cluster configuration
Now that we have our compute instances and load balancer set up, we can generate our cluster configuration files withtalosctl.
We need to get the Public IP of the Load Balancer as this is our Kubernetes API endpoint, and the Public IPs of the control plane nodes as addional-sans for the API certificate.
Step 5. Applying configuration and bootstrapping the cluster
With our configuration file generated, we can now apply it to our control plane nodes and bootstrap the cluster.TALOSCONFIG environment variable to point to the talosconfig file. This will allow you to interact with your cluster using talosctl without having to specify the --talosconfig flag every time.
talosctl.
Step 6. Retrieve the kubeconfig
At this point we can retrieve the admin kubeconfig by running: