Как настроить выполнение команды автоматически при создании контейнера LXC в PVE Proxmox?

Как можно автоматизировать добавление определенных строк в конфигурационный файл `/etc/pve/lxc/[container_id].conf` при создании нового LXC контейнера? Существует ли стандартный шаблонный файл конфигурации для контейнеров, куда можно прописать необходимые настройки? В настоящий момент все эти строки нужно добавлять вручную. Задача заключается в разрешении создания интерфейсов tun/tap для ZeroTier внутри контейнеров.
  • 8 апреля 2024 г. 18:49
Ответы на вопрос 2
Для выполнения определённой команды автоматически при создании контейнера LXC в Proxmox VE (PVE), вам следует использовать скрипты hook. Можно создать hook-скрипт, который будет выполнять необходимые действия после создания контейнера.

Шаги:

1. Создайте директорию для hook-скриптов, например:
```bash
mkdir /etc/pve/lxc-hooks
```

2. Создайте сам hook-скрипт, например `/etc/pve/lxc-hooks/create/50-customscript`:
```bash
#!/bin/bash

# Ваша команда
echo "Executed command after LXC container creation"
```

3. Сделайте скрипт исполняемым:
```bash
chmod +x /etc/pve/lxc-hooks/create/50-customscript
```

4. При создании нового контейнера, скрипт будет автоматически выполнен.

Чтобы автоматизировать добавление строк в конфигурационный файл контейнера `/etc/pve/lxc/[container_id].conf`, можно использовать опцию `lxc.hook` в файле `/etc/pve/lxc/[container_id].conf`:
```text
lxc.hook.create = /etc/pve/lxc-hooks/create/50-customscript
```

Этот способ позволит вам выполнять произвольные действия при создании контейнера.

Отдельно о шаблонных файлах конфигурации для контейнеров в PVE: в Proxmox VE используются шаблонные файлы конфигурации, но они предназначены для создания шаблонов виртуальных машин, а не контейнеров LXC. Для контейнеров не предусмотрено стандартных шаблонов конфигурации, поэтому добавление настроек вручную является стандартной практикой.
Сильно сомневаюсь в таком функционале, IMHO .conf создаётся с полного нуля. 
Посоветую создать пустой контейнер, настрополить его как надо, и потом просто каждый раз клонировать.

Ну или банально скрипт, выполняемый каждую минуту, и где-нибудь хранящий ID-шки уже подправленных .conf.
Похожие вопросы