Major changes: - Terraform: Scale to 3 control planes (cx23) + 3 workers (cx33) - Terraform: Add Hetzner Load Balancer (lb11) for Kubernetes API - Terraform: Add kube_api_lb_ip output - Ansible: Add community.network collection to requirements - Ansible: Update inventory to include LB endpoint - Ansible: Configure secondary CPs and workers to join via LB - Ansible: Add k3s_join_endpoint variable for HA joins - Workflow: Add imports for cp-2, cp-3, and worker-3 - Docs: Update STABLE_BASELINE.md with HA topology and phase gates Topology: - 3 control planes (cx23 - 2 vCPU, 8GB RAM each) - 3 workers (cx33 - 4 vCPU, 16GB RAM each) - 1 Load Balancer (lb11) routing to all 3 control planes on port 6443 - Workers and secondary CPs join via LB endpoint for HA Cost impact: +~€26/month (2 extra CPs + 1 extra worker + LB)
21 lines
516 B
Cheetah
21 lines
516 B
Cheetah
[control_plane]
|
|
{% for node in control_planes %}
|
|
{{ node.name }} ansible_host={{ node.public_ip }} k3s_private_ip={{ node.private_ip }}
|
|
{% endfor %}
|
|
|
|
[workers]
|
|
{% for node in workers %}
|
|
{{ node.name }} ansible_host={{ node.public_ip }} k3s_private_ip={{ node.private_ip }}
|
|
{% endfor %}
|
|
|
|
[cluster:children]
|
|
control_plane
|
|
workers
|
|
|
|
[cluster:vars]
|
|
ansible_user=root
|
|
ansible_python_interpreter=/usr/bin/python3
|
|
ansible_ssh_private_key_file={{ private_key_file }}
|
|
k3s_version=latest
|
|
kube_api_endpoint={{ kube_api_lb_ip }}
|