- 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
 |