23 lines
1.6 KiB
Django/Jinja
23 lines
1.6 KiB
Django/Jinja
{# Error output for noble.yml API preflight when kubectl /healthz fails #}
|
||
Cannot use the Kubernetes API from this host (kubectl get --raw /healthz).
|
||
rc={{ noble_k8s_health.rc }}
|
||
stderr: {{ noble_k8s_health.stderr | default('') | trim }}
|
||
|
||
{% set err = (noble_k8s_health.stderr | default('')) | lower %}
|
||
{% if 'connection refused' in err %}
|
||
Connection refused: the TCP path to that host works, but nothing is accepting HTTPS on port 6443 there.
|
||
• **Not bootstrapped yet?** Finish Talos first: `talosctl bootstrap` (once on a control plane), then `talosctl kubeconfig`, then confirm `kubectl get nodes`. See talos/README.md §2–§3 and CLUSTER-BUILD.md Phase A. **Do not run this playbook before the Kubernetes API exists.**
|
||
• If bootstrap is done: try another control-plane IP (CLUSTER-BUILD inventory: neon 192.168.50.20, argon .30, krypton .40), or the VIP if kube-vip is up and you are on the LAN:
|
||
-e 'noble_k8s_api_server_override=https://192.168.50.230:6443'
|
||
• Do not point the API URL at a worker-only node.
|
||
• `talosctl health` / `kubectl get nodes` from a working client.
|
||
{% elif 'network is unreachable' in err or 'no route to host' in err %}
|
||
Network unreachable / no route: this machine cannot route to the API IP. Join the lab LAN or VPN, or set a reachable API server URL (talos/README.md §3).
|
||
{% else %}
|
||
If kubeconfig used the VIP from off-LAN, try a reachable control-plane IP, e.g.:
|
||
-e 'noble_k8s_api_server_override=https://192.168.50.20:6443'
|
||
See talos/README.md §3.
|
||
{% endif %}
|
||
|
||
To skip this check (not recommended): -e noble_skip_k8s_health_check=true
|