- move ansible project within infra - introduce terraform/opentofu for proxmox VM management
71 lines
2.0 KiB
Django/Jinja
71 lines
2.0 KiB
Django/Jinja
apiVersion: k0sctl.k0sproject.io/v1beta1
|
|
kind: Cluster
|
|
metadata:
|
|
name: k0s-cluster
|
|
spec:
|
|
hosts:
|
|
- ssh:
|
|
address: "{{ master1_ip }}"
|
|
user: "{{ ansible_vm_user }}"
|
|
keyPath: "{{ ansible_ssh_private_key_file }}"
|
|
role: controller+worker
|
|
hostname: "{{ master1_hostname }}"
|
|
noTaints: true
|
|
- ssh:
|
|
address: "{{ master2_ip }}"
|
|
user: "{{ ansible_vm_user }}"
|
|
keyPath: "{{ ansible_ssh_private_key_file }}"
|
|
role: controller+worker
|
|
hostname: "{{ master2_hostname }}"
|
|
noTaints: true
|
|
- ssh:
|
|
address: "{{ worker1_ip }}"
|
|
user: "{{ ansible_vm_user }}"
|
|
keyPath: "{{ ansible_ssh_private_key_file }}"
|
|
role: worker
|
|
hostname: "{{ worker1_hostname }}"
|
|
- ssh:
|
|
address: "{{ worker2_ip }}"
|
|
user: "{{ ansible_vm_user }}"
|
|
keyPath: "{{ ansible_ssh_private_key_file }}"
|
|
role: worker
|
|
hostname: "{{ worker2_hostname }}"
|
|
k0s:
|
|
version: "{{ k0s_version }}"
|
|
config:
|
|
spec:
|
|
api:
|
|
address: "{{ master1_ip }}"
|
|
port: 6443
|
|
k0sApiPort: 9443
|
|
sans:
|
|
- "{{ master1_ip }}"
|
|
- "{{ master2_ip }}"
|
|
- k8s.local
|
|
- api.k8s.local
|
|
network:
|
|
kubeProxy:
|
|
mode: iptables
|
|
kuberouter:
|
|
disabled: false
|
|
podCIDR: "{{ pod_CIDR }}"
|
|
serviceCIDR: "{{ service_CIDR }}"
|
|
provider: kuberouter
|
|
extensions:
|
|
helm:
|
|
concurrencyLevel: 5
|
|
repositories:
|
|
- name: metallb
|
|
url: https://metallb.github.io/metallb
|
|
- name: traefik
|
|
url: https://traefik.github.io/charts
|
|
charts:
|
|
- name: metallb
|
|
chartname: metallb/metallb
|
|
version: "{{ metallb_version }}"
|
|
namespace: metallb-system
|
|
- name: traefik
|
|
chartname: traefik/traefik
|
|
version: "{{ traefik_version }}"
|
|
namespace: traefik-system
|