Creating a Talos Linux Cluster on Digital Ocean via the CLI
In this guide we will create an HA Kubernetes cluster with 1 worker node, in the NYC region. We assume an existing Space, and some familiarity with DigitalOcean. If you need more information on DigitalOcean specifics, please see the official DigitalOcean documentation.Create the Image
Download the DigitalOcean imagedigital-ocean-amd64.raw.gz
from the
Image Factory
.
Note: the minimum version of Talos required to support Digital Ocean is v1.3.3.Using an upload method of your choice (
doctl
does not have Spaces support), upload the image to a space.
(Itβs easy to drag the image file to the space using DigitalOceanβs web console.)
Note: Make sure you upload the file as public
.
Now, create an image using the URL of the uploaded image:
Create a Load Balancer
Create the Machine Configuration Files
Using the IP address (or DNS name, if you have created one) of the loadbalancer, generate the base configuration files for the Talos machines. Also note that the load balancer forwards port 443 to port 6443 on the associated nodes, so we should use 443 as the port in the config definition:Create the Droplets
Create a dummy SSH key
Although SSH is not used by Talos, DigitalOcean requires that an SSH key be associated with a droplet during creation. We will create a dummy key that can be used to satisfy this requirement.
Create the Control Plane Nodes
Run the following commands to create three control plane nodes:Create the Worker Nodes
Run the following to create a worker node:Bootstrap Etcd
To configuretalosctl
we will need the first control plane nodeβs IP:
endpoints
and nodes
:
etcd
:
Retrieve the kubeconfig
At this point we can retrieve the admin kubeconfig
by running: