pve-template-vm/README.md

44 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2023-07-30 11:51:42 +02:00
# Create a VM template from the latest Debian release with settings appropriate for the CCCHH Proxmox clusters
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
## Prerequisites
2023-07-30 11:36:16 +02:00
2023-07-30 14:16:24 +02:00
The script uses the package [`libguestfs-tools`](https://libguestfs.org)' `virt-builder` to download and customize a Debian image, and then add it as a template to Proxmox.
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
## Building the Template
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
### Configuration Options
Verify that the settings at the beginning of the script are suitable to the cluster you want to create the template from.
2023-07-30 11:36:16 +02:00
2024-01-05 23:52:42 +01:00
| Variable | Default | Description |
| --------- | --------------------------------------- | ---------------------------------------------------------------------- |
| `VMID` | 9023 | ID the template should have in Proxmox |
| `STORAGE` | `local-zfs` | Pool the disks should be created in |
| `OS` | `debian-12` | `virt-builder` name of the OS to install |
| `NAME` | `chaos-${OS}-tmpl-$(date -u +%Y-%m-%d)` | name of the template |
| `BRIDGE` | `vmbr0,tag=208` | name of the bridge to use and any parameters needed, like the VLAN tag |
2023-07-30 11:36:16 +02:00
2023-07-30 14:16:24 +02:00
### User Account, sshd, and `authorized_keys`
2023-07-30 12:16:52 +02:00
2023-07-30 14:16:24 +02:00
`cloud-init` will create a user `chaos`, by default with a locked password, and authorized keys initialized. Password-less `sudo` is configured, so you can run commands as root.
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
The script expects `authorized_keys` to be in the current directory. Copy the correct contents from the [appropriate repository](https://gitlab.hamburg.ccc.de/ccchh/infrastructure-authorized-keys).
2023-07-30 11:36:16 +02:00
2023-07-30 14:16:24 +02:00
`sshd` has been configured to listen on port 42666 instead of 22.
2023-07-30 13:52:53 +02:00
2023-07-30 11:51:42 +02:00
### Run the Script
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
```shell
sudo ./build-proxmox-template
2023-07-30 11:51:42 +02:00
```
2023-07-30 11:36:16 +02:00
2023-07-30 11:51:42 +02:00
## Cloning the Template
2023-07-30 11:36:16 +02:00
2023-07-30 12:16:52 +02:00
Please use "Full Clone" when creating a VM based on this template. Using Linked Clone means that the template's disk cannot be recreated since the linked clones need it. This means that the script cannot update the template.
### Disk Size
The installed `cloud-guest-utils` will automatically increase the root filesystem when you increase the size of the root disk. You will need to reboot the VM for the resize to take place. You can increase the size of the disk right after cloning and before starting the VM for the first time.
### Root Password
The root account is disabled. Use the `chaos` account.