infra: introduce terraform/opentofu for proxmox management
- move ansible project within infra - introduce terraform/opentofu for proxmox VM management
This commit is contained in:
@ -0,0 +1,70 @@
|
||||
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
|
||||
Reference in New Issue
Block a user