86 lines
3.3 KiB
YAML
86 lines
3.3 KiB
YAML
---
|
|
- name: Provision k3s cluster nodes
|
|
hosts:
|
|
- localhost
|
|
gather_facts: no
|
|
tasks:
|
|
- name: Clone host image
|
|
community.general.proxmox_kvm:
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ lookup('env','PM_USER') }}"
|
|
api_password: "{{ lookup('env','PM_PASSWORD') }}"
|
|
autostart: true
|
|
clone: "{{ cloudinit_img }}"
|
|
name: "{{ item }}"
|
|
node: pve2
|
|
target: "{{ hostvars[item].node }}"
|
|
storage: disk-storage
|
|
format: qcow2
|
|
newid: "{{ hostvars[item].id }}"
|
|
timeout: 500
|
|
with_inventory_hostnames:
|
|
- primary
|
|
- control_plane
|
|
- workers
|
|
- name: Update clones
|
|
community.general.proxmox_kvm:
|
|
update: yes
|
|
node: "{{ hostvars[item].node }}"
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ lookup('env','PM_USER') }}"
|
|
api_password: "{{ lookup('env','PM_PASSWORD') }}"
|
|
memory: "{{ hostvars[item].mem }}"
|
|
ciuser: kube
|
|
cipassword: Call1_advent
|
|
cores: 4
|
|
sshkeys: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0Lk7zShZhujYeAnqorxZZCUJbZWWzf74cyAXRCGFeqyUvzOHuc/M3s0dmEqWRQCnKKdRAcAeBuya8dNyXwlTbWGTMbrObesPb0rHgLLXUfPbDH1km9QpVufjpuhbUtBN0iSa/1n3vKeMvrQj3ekUvl6nRtcLPHY0H4RswOJSpEzpvHK8S4YxdSoBV0z9KVB3/nS45WsqY45pD75epEjgaEhxyiJkf2fy5VkEB0+ZRMWs4uv/emwXq1hparkh5618Qap5qTpxI0kG0gXjupYc9HYe3oqHtxXsqrN3G/wEX6bVsbxNUdU5WMlqT88TkbRcju7UI7UhNcBezXaeT/WlJZGGM2spEHpk7DBC8Td6t09vCDQzRU694p6/hMfOUS3aMSdcIIU9wOdqXaXgFW2ugUxjQV0L0EowCxX8wJpPmxECs+svf7cCPYZVyF+R4MKHHx2mW/GtHYceAkQvIMfjPg2ZlKNOWGAJHBjjnLlAdXWJf77+FH5q3QCQshEW4loe/7/cd3AUGplYtHKxBaGYJS8YRDDmAE/TBZsm3ICaGCIUtEEsIBrSPR+f6WFU5fMIOh82735FGMI1rO4rNkFJ3ZBgwsgurY1yKrtP8yrTKELF0noycWw6DYHrwShXDFKjIlut5w3L3tOdlL6gheTfZqhSwDNZXm/3H76BfOUpxEQ== jim@DESKTOP-PP2J3PP'
|
|
vmid: "{{ hostvars[item].id }}"
|
|
nameservers:
|
|
'10.0.96.30'
|
|
net:
|
|
net0: 'virtio,bridge=vmbr0'
|
|
ipconfig:
|
|
ipconfig0: "ip={{ hostvars[item].ip }}/24,gw=10.0.96.1"
|
|
with_inventory_hostnames:
|
|
- primary
|
|
- control_plane
|
|
- workers
|
|
- name: Start clones
|
|
community.general.proxmox_kvm:
|
|
node: "{{ hostvars[item].node }}"
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ lookup('env','PM_USER') }}"
|
|
api_password: "{{ lookup('env','PM_PASSWORD') }}"
|
|
update: yes
|
|
vmid: "{{ hostvars[item].id }}"
|
|
state: started
|
|
with_inventory_hostnames:
|
|
- primary
|
|
- control_plane
|
|
- workers
|
|
- name: Update DNS for cluster nodes
|
|
uri:
|
|
method: PATCH
|
|
url: "http://{{ pdns_api }}:8081/api/v1/servers/localhost/zones/{{ pdns_dom }}"
|
|
body:
|
|
rrsets:
|
|
- name: "{{ item }}.{{ pdns_dom }}."
|
|
type: A
|
|
ttl: 86400
|
|
changetype: REPLACE
|
|
records:
|
|
- content: "{{ hostvars[item].ip }}"
|
|
disabled: false
|
|
body_format: json
|
|
headers:
|
|
'X-API-Key': '{{ lookup('env','PDNS_API_PW') }}'
|
|
return_content: yes
|
|
status_code:
|
|
- 200
|
|
- 204
|
|
register: dns_result
|
|
with_inventory_hostnames:
|
|
- primary
|
|
- control_plane
|
|
- workers
|