ansible-role-proxmox_vm_tools/README.md

82 lines
1.8 KiB
Markdown

# proxmox-vm-tools
Gestion de vms kvm en environnement proxmox
## Prerequis
- un compte de service dans le cluster proxmox
- un api token pour ce compte de service
- les droits PVEVMAdmin et PVEDatastoreUser associés au token
# Variables
Exemple de variables pour setup_vm.yml
```yaml
pvmt_api_user: compte_de_service_proxmox
pvmt_api_host: fqdn_proxmox
pvmt_api_token_id: nom_du_token
pvmt_api_token_secret: le_secret_a_rallonge_du_token
pvmt_node: nom_du_noeud_proxmox
pvmt_vm_template: nom_du_template_a_cloner
pvmt_vm_id: id_de_la_vm
pvmt_vm_name: nom_de_la_vm
pvmt_vm_network: nom_du_vlan
pvmt_vm_ip: 192.168.1.1
pvmt_vm_memory: 2048
pvmt_vm_sockets: 1
pvmt_vm_cores: 2
pvmt_vm_storage: local-lvm
pvmt_vm_ciuser: svc-ansible
pvmt_vm_sshkeys: 'ssh-rsa AAA [...] 06Rnk= user@machine'
pvmt_vm_disk:
- disk: scsi1
size: 1G
pvuuid: uCbfU7-SI8m-ixnk-vMKJ-gpoQ-LgIh-58whLX
encrypted: "false"
- disk: scsi2
size: 2G
pvuuid: 34azET-vMKJ-gpoQ-3Vm4-jiY9-3yAl-62r7i3
encrypted: "true"
pvmt_vm_lvm_volumes:
- name: root
size: 6G
vg: system
- name: swap
size: 1G
vg: system
- name: data1
size: 10G
vg: luksdata
- name: data2
size: 10G
vg: luksdata
# vlan vars
nom_du_vlan:
vlanid: 1
bridge: id_du_bridge
netmask: 24
gateway: 10.0.0.254
nameservers: "10.0.0.1"
searchdomain: domaine.local
```
## Exemple d'utilisation
## Gestion des disques
- Si nécessaire les nouveaux volume groups sont à créer manuellement avant de pouvoir être référencés, par exemple :
`vgcreate luksdata /dev/mapper/mondisque`
- Si de nouveaux volumes lvm sont créés, ils ne sont pour autant ni formatés ni montés quelque part et doivent être définis dans fstab
- Si un volume est agrandi, le système de fichiers du volume l'est aussi