Deploy Your First Workload to a Talos Cluster
Deploy a sample workload to your Talos cluster to get started.
Deploying your first workload validates that your cluster is working properly and that you can schedule, expose, and access applications successfully.
If you donโt have a cluster running yet, check out the Getting Started or Production Notes guides to learn how to create one.
To deploy a sample application to your cluster:
Run this command to deploy the application and expose it via a NodePort:
bashkubectl apply -f https://raw.githubusercontent.com/siderolabs/example-workload/refs/heads/main/deploy/example-svc-nodeport.yaml
Verify that your pods and services are running:
bashkubectl get pods,services # Lists the deployed pods and services
Create a NODE_IP variable by retrieving an IP address of any one of your nodes:
bashNODE_IP=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}'; echo)
Retrieve the NodePort assigned to your Service using:
bashNODE_PORT=$(kubectl get svc example-workload -o jsonpath='{.spec.ports[0].nodePort}')
Verify your application is running:
bashcurl http://$NODE_IP:$NODE_PORT
And here is your application:
๐ CONGRATULATIONS! ๐ ======================================== You successfully deployed the example workload! Resources: ---------- ๐ Talos Linux: https://talos.dev ๐ Omni: https://omni.siderolabs.com ๐ Sidero Labs: https://siderolabs.com ========================================