just talos nodes
just talos diffRender machine configurations for review:
just talos renderRendered files are written to talos/rendered.
Apply to all nodes after reviewing prompted diff:
just talos applyApply to one node:
just talos apply-node <node>Optional modes:
just talos apply-node <node> auto
just talos apply-node <node> no-reboot
just talos apply-node <node> staged
just talos apply-node <node> tryUpdate talosVersion in talos/topf.yaml and
kubernetes/apps/system-upgrade/tuppr/upgrades/talosupgrade.yaml, review the
diff, then upgrade one node at a time:
For Talos 1.14 and later, upgrade all nodes before applying configuration that uses the multi-document configuration API.
just talos upgrade-node <node>Upgrade every node sequentially only after validating rollout:
just talos upgradeConfirm node health between upgrades.
For Talos patch releases, no compatibility-gate change is needed. Before a Talos minor release:
-
Check the official Talos support matrix for that minor release.
-
Add its supported Kubernetes minor range to
scripts/ci/check-talos-kubernetes-compatibility.sh. -
Raise the exclusive
ghcr.io/siderolabs/kubeletallowedVersionsceiling in.renovaterc.json5. For a maximum supported Kubernetes version of1.37, use<1.38.0. -
Run the compatibility check:
bash scripts/ci/check-talos-kubernetes-compatibility.sh
Unknown Talos minors fail the check until this review is completed. Do not derive support from release numbering alone.
Confirm the target Kubernetes minor is listed in the current Talos support
matrix. Update kubernetesVersion in talos/topf.yaml and the version in
kubernetes/apps/system-upgrade/tuppr/upgrades/kubernetesupgrade.yaml, then
run:
bash scripts/ci/check-talos-kubernetes-compatibility.shAfter the check passes, run:
just talos upgrade-k8sVerify nodes, Cilium, Flux controllers, and workloads after upgrade.
-
Boot new node into Talos maintenance mode.
-
Inspect disks and network links:
talosctl get disks --nodes <ip> --insecure talosctl get links --nodes <ip> --insecure
-
Add node and required patches to
talos/topf.yaml. -
Review rendered configuration:
just talos render just talos diff
-
Apply only to new node:
just talos apply-node <node>
-
Confirm it joins and becomes ready:
just talos nodes kubectl get nodes -o wide
Keep an odd number of control-plane nodes for etcd quorum.
just kube reconcile
flux get sources git -A
flux get ks -A
flux get hr -ACheck for suspended or failed Kustomizations before assuming workloads are current. When resuming networking changes, resume network/envoy-gateway first and wait for Ready=True before its dependents.
kubectl -n <namespace> get deploy,sts,ds,pods -o wide
kubectl -n <namespace> get events --sort-by='.metadata.creationTimestamp'
kubectl -n <namespace> describe <resource> <name>
kubectl -n <namespace> logs <pod> --since=10mFor multi-container pods, add --container <container>.
flux get ks -A
flux get hr -A
kubectl -n <namespace> describe kustomization <name>
kubectl -n <namespace> describe helmrelease <name>Inspect source-controller for OCI or Git artifact failures:
kubectl -n flux-system logs deploy/source-controller --since=10mAn HTTP 401 means registry was reached but authentication or network bypass policy rejected request. An HTTP 503 or reset before headers points to DNS, routing, TLS, proxy, or upstream connectivity.
kubectl -n network get gateways.gateway.networking.k8s.io
kubectl get httproutes.gateway.networking.k8s.io -A
kubectl -n <namespace> describe httproute <name>Check Gateway Accepted and Programmed conditions, then HTTPRoute Accepted and ResolvedRefs. Verify backend Service and endpoints before restarting or recreating anything.
Use GitOps workflow for durable application changes and reset runbook only for intentional destructive rebuilds.