Requirements
- A Triton account with API access
- An SSH key saved as an Control Plane opaque secret
- A private network configured in your datacenter
- Available machine images and instance packages
triton-moiraiimages available in your datacenter
Supported Add-ons
- Dashboard: Provides a Kubernetes dashboard UI for the cluster.
- Headlamp: The recommended dashboard for the cluster
- Local Path Storage: Create PVCs backed by local volumes.
- Logs: Enable logging for pods and cluster auditing.
- Metrics: Enable metrics collections.
Load Balancing
Triton does not include a native load balancer. To expose cluster endpoints, you must configure a manual load balancer at cluster creation time. Control Plane deploys and configures triton-moirai instances in your datacenter.triton-moirai images must already be built and available in your Triton datacenter before creating the cluster.Logging
When using a load balancer, logs are written to syslog. Choose one of the following optionsexternalSyslog— Forward the log sink to a syslog server outside the cluster, specified ashost:port.nodePort— If you run a syslog service inside the cluster and expose it via a Kubernetes NodePort, point the log sink to that port number (valid range:30000–65535).
Step 1 — Prepare Your Triton Environment
Your Triton environment must include:- A valid datacenter location
- Available machine images
- A private network
- Available instance packages
The Triton datacenter must already have the proper
triton-moirai images built and available before creating the cluster.Step 2 — Create a Managed Kubernetes Cluster Using a Manifest File
- Update the manifest below: Modify the following
triton-mk8s-template.yamlYAML manifest with actual values. Replace the $ values in the YAML below with your actual values before applying.
YAML
-
Create the Cluster: Deploy the cluster by applying the manifest.
- Console: Apply the
triton-mk8s-template.yamlfile using thecpln apply >_option in the upper right corner. - CLI: Execute
cpln apply -f triton-mk8s-template.yaml --org YOUR_ORG_HERE.
- Console: Apply the
Step 3 — Accessing the Cluster
1. Using the Terminal
- Obtain the Cluster’s Kubeconfig File: Execute the command
cpln mk8s kubeconfig ${NAME} -f /tmp/triton-mk8s-conf. - Access the Cluster with
kubectl: Use the obtained kubeconfig file by runningexport KUBECONFIG=/tmp/triton-mk8s-conffor the current shell session.
2. Using Headlamp
- Navigate to Control Plane Console: Visit the Control Plane Console.
- Access Headlamp: In the Control Plane Console, navigate to
Kubernetesin the left sidebar panel and click onOpenunderHeadlampfor the cluster.
Advanced Configuration Options
Instance Rotation/Refresh
Sometimes an explicit rotation (or refresh) of the instances is needed, for example to get the latest image or a new boot disk size. To do this per node pool, add a labelcpln.io/refreshToken with an arbitrary valid value. Every time the value of this label changes, a conservative instance replacement will start (1 instance at a time). Removing that label is the same as having an empty value and will trigger a refresh too.