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