Talos Kubernetes
Last updated
Last updated
Portainer consists of two elements, the Portainer Server and the Portainer Agent. Both elements run as lightweight containers on Kubernetes. This document will outline how to create a Talos Kubernetes cluster via Omni and install the Portainer Edge Agent. If you do not have a working Portainer Server instance yet, please refer to the Portainer Server installation guide first.
In order to connect to Omni and deploy a Talos Kubernetes cluster and the Portainer Edge Agent, you will need:
An installation of Omni. You can use the SaaS option or alternatively self-host an Omni installation. Note that while we believe that self-hosted installations will work fine, we have not extensively tested them in this initial release of this feature.
A service account on your Omni installation for Portainer to use. This service account should have Admin access. You can learn more about how to create a service account in our credentials documentation.
Machines registered within your Omni installation to be used for your Talos cluster. Documentation on registering these machines can be found in Sidero's documentation.
The machines you intend to use for your Talos Kubernetes cluster must be able to communicate with the Portainer Server deployment on API port (by default 9443
) and the tunnel server port (by default 8000
). This is so that the Edge Agent that is deployed on the cluster can communicate with the Portainer server.
To create your Talos Kubernetes cluster and deploy the Portainer Edge Agent to your machines, from the menu expand Environment-related, click Environments, then click Add environment.
Select Create a Kubernetes cluster and click Start wizard, then ensure Talos Kubernetes is selected.
If you have not yet configured a set of credentials for your Omni installation, you will be asked to provide them now. If you already have a credential set configured, you can skip to cluster configuration.
Fill in the fields based on the table below:
Credentials name
Enter a name for this credential set. This is how it will be listed in Portainer.
Endpoint URL
Enter the endpoint URL of your Omni installation. This is generally the same URL you would be using to access the Omni web UI.
Service account key
Paste your service account key into this field.
You can create a service account through the Omni web UI or using omnictl
. You can find more information on how to do this in our Omni credentials documentation.
Once you have entered your credentials click Add credentials. The credential set will be saved under the name you entered, and you will be taken to the cluster configuration.
Once you have a set of credentials configured, you can proceed to configuring your cluster. Enter a Name for your cluster and fill out the rest of the fields based on the tables below.
Here you can provide the details for Portainer so that the agent can be deployed once the cluster has been created. Note that the URLs here should be the URLs that Portainer is accessible on from the perspective of the machines in the cluster.
Portainer API server URL
The URL to your Portainer server. This should generally be pre-populated with the correct value.
Portainer tunnel server address
The address to the Portainer tunnel server. This should generally be pre-populated with the correct value.
Here you can select the credentials to use to connect to Omni as well as the versions of Talos and Kubernetes to deploy.
Credentials
Select the set of Omni credentials to use from the dropdown.
Talos version
Select the version of Talos to deploy on your cluster machines. The options here may be limited by the machines you select later in the process.
Kubernetes version
Select the version of Kubernetes to install on your cluster machines. The options here may be restricted based on the version of Talos chosen above.
Here you can specify the machines to use for your cluster. The dropdowns will display the list of available machines alongside any labels on each machine to help with identification.
Control Plane
Select the machine(s) to use as your control plane nodes. You will need to choose at least one, and an odd number of control plane nodes is recommended.
Main worker pool
Select the machine(s) to use as your worker nodes.
Once you have selected machines here you can tweak the networking configuration for each machine individually if necessary by clicking the cog icon next to the individual machine.
Machines that have had their networking configuration adjusted in this way will have an orange dot on the cog icon:
This section allows you to apply a custom YAML configuration to your cluster if required. You can click Cluster Configuration patch to display the section and provide your YAML in the editor.
As an optional step you can expand the More settings section to customize the deployment further.
Initial deployment
This section lets you select a custom template to deploy after cluster creation.
Stack
Optionally enter a stack name for your initial deployment.
Custom template
Select the template to deploy from the dropdown.
Metadata
This section lets you specify metadata for the environment for use within Portainer.
Group
Select the group to add the environment to.
Tags
Select the tags to apply to your environment. These tags apply only to Portainer, and not to the cluster within Omni itself.
Once you have entered your cluster configuration details, click Provision environment to begin the provision. Portainer will start provisioning your cluster with the options you selected. If you have other environments to configure click Next to proceed, otherwise click Close to return to the list of environments.
From the Environments page you will be able to see the progress of any running Kubernetes environment provisions. The status will be updated as the provision completes, and if the provision runs into problems an error will be displayed here. You can hover over the status or error for additional detail.
Once the provision completes, you will be able to access the environment as you would any other Portainer-configured environment.