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:
  1. Run this command to deploy the application and expose it via a NodePort:
    kubectl apply -f https://raw.githubusercontent.com/siderolabs/example-workload/refs/heads/main/deploy/example-svc-nodeport.yaml
    
  2. Verify that your pods and services are running:
    kubectl get pods,services # Lists the deployed pods and services
    
  3. Create a NODE_IP variable by retrieving an IP address of any one of your nodes:
    NODE_IP=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}'; echo)
    
  4. Retrieve the NodePort assigned to your Service using:
    NODE_PORT=$(kubectl get svc example-workload -o jsonpath='{.spec.ports[0].nodePort}')
    
  5. Verify your application is running:
    curl 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
    
    ========================================
    
    

What’s Next?