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