Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО]Назначение статического IP-адреса клонированной виртуальной машине с инициализацией Cloud-init.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО]Назначение статического IP-адреса клонированной виртуальной машине с инициализацией Cloud-init., Proxmox Виртуальная Среда
     
    Vinvar
    Guest
    #1
    0
    22.06.2025 12:25:00
    Привет всем, я пытаюсь клонировать шаблон моей ВМ, настраивая статический IP. Я использую Ansible и пытаюсь использовать модуль `community.general.proxmox_kvm`. Однако у меня не получается присвоить ВМ статический IP. Для шаблона я использую шаблон Debian 12 (bookworm) по руководству Learn Linux Tv. Ниже я добавил шесть сценариев, которые должны работать (согласно множеству форумов, например, 1 2 3). Но они не работают. Либо задача завершается ошибкой 'Bad Request: Parameter verification failed', либо ВМ получает IP по DHCP при запуске. Кроме того, создание клона напрямую в Proxmox с помощью `qm clone 1001 123 --name test-123` и установка IP с помощью `qm set 123 --ipconfig0 ip=[redacted].23/24,gw=[redacted]` как описано в руководстве Proxmox также не помогло. Есть ли у кого-нибудь идеи, как клонировать ВМ, которую можно инициализировать Cloud-init, и присвоить ей статический IP?

    ---
    Чтобы увидеть проблему самостоятельно, запустите следующее с помощью Ansible. Измените значения [redacted] на свои собственные. Раньше у меня были проблемы с установкой памяти в начальной задаче. Я выяснил, что это нужно делать во второй задаче. Если это необходимо и для сети, я добавил тест 4-6. Таким образом, тесты 4-6 такие же, как тесты 1-3, но часть, касающаяся сети, выделена.

    Код:
    ```yaml
    - name: 'ТЕСТ скрипт'
     hosts: [redacted]

     check_mode: false
     gather_facts: true

     become: true
     become_method: enable # Необходимо на Proxmox, так как пользователь не имеет 'повышения привилегий'

     tasks:
       - name: 'ТЕСТ 1: Создать ВМ со статическим IP xx.24 через ipconfig ключ.'
         community.general.proxmox_kvm:
           api_host: [redacted]
           api_user: [redacted]
           api_token_id: [redacted]
           api_token_secret: [redacted]
           clone: 'tmpl-deb12'
           full: true
           name: 'iptest-1'
           newid: 201
           node: [redacted]
           state: 'present'
           timeout: 300
           ### Network
           net:
             net0: 'virtio,bridge=vmbr0,firewall=0'
           ipconfig:
             ipconfig0: 'ip=[redacted].24/24,gw=[redacted].254'

       - name: 'ТЕСТ 2: Создать ВМ со статическим IP xx.25 через cicustom inline.'
         community.general.proxmox_kvm:
           api_host: [redacted]
           api_user: [redacted]
           api_token_id: [redacted]
           api_token_secret: [redacted]
           clone: 'tmpl-deb12'
           full: true
           name: 'iptest-2'
           newid: 202
           node: [redacted]
           state: 'present'
           timeout: 300
           ### Network
           net:
             net0: 'virtio,bridge=vmbr0,firewall=0'
           cicustom: 'network-config="$(cat <<EOF
    version: 2
    ethernets:
     [redacted]:
       addresses: [[redacted].25/24]
       gateway4: [redacted].254
       nameservers:
         addresses: [[redacted]]
    EOF
    )"'

       - name: 'ТЕСТ 3: Создать ВМ со статическим IP xx.26 через cicustom из файла.'
         community.general.proxmox_kvm:
           api_host: [redacted]
           api_user: [redacted]
           api_token_id: [redacted]
           api_token_secret: [redacted]
           clone: 'tmpl-deb12'
           full: true
           name: 'iptest-3'
           newid: 303
           node: [redacted]
           state: 'present'
           timeout: 300
           ### Network
           net:
             net0: 'virtio,bridge=vmbr0,firewall=0'
           cicustom: 'network-config=local:/[redacted]/test3.yaml'

       - name: 'ТЕСТ 4: Создать ВМ со статическим IP xx.27 через ipconfig ключ во второй задаче.'
         block:
           - name: 'ТЕСТ 4: задача 1: создать ВМ.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               clone: 'tmpl-deb12'
               full: true
               name: 'iptest-4'
               newid: 301
               node: [redacted]
               state: 'present'
               timeout: 300
           - name: 'ТЕСТ 4: задача 2: установить статический IP xx.27 через ipconfig ключ. Как PoC изменить память.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               memory: 2048
               name: 'iptest-4'
               node: [redacted]
               state: 'present'
               timeout: 300
               update: true
               ### Network
               net:
                 net0: 'virtio,bridge=vmbr0,firewall=0'
               ipconfig:
                 ipconfig0: 'ip=[redacted].27/24,gw=[redacted].254'

       - name: 'ТЕСТ 5: Создать ВМ со статическим IP xx.28 через cicustom inline.'
         block:
           - name: 'ТЕСТ 5: задача 1: создать ВМ.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               clone: 'tmpl-deb12'
               full: true
               name: 'iptest-5'
               newid: 302
               node: [redacted]
               state: 'present'
               timeout: 300
           - name: 'ТЕСТ 5: задача 2: установить статический IP xx.28 через cicustom inline.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               memory: 2048
               name: 'iptest-5'
               node: [redacted]
               state: 'present'
               timeout: 300
               update: true
               ### Network
               net:
                 net0: 'virtio,bridge=vmbr0,firewall=0'
               cicustom: 'network-config="$(cat <<EOF
    version: 2
    ethernets:
     [redacted]:
       addresses: [[redacted].28/24]
       gateway4: [redacted].254
       nameservers:
         addresses: [[redacted]]
    EOF
    )"'
       - name: 'ТЕСТ 6: Создать ВМ со статическим IP xx.29 через cicustom из файла.'
         block:
           - name: 'ТЕСТ 6: задача 1: создать ВМ.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               clone: 'tmpl-deb12'
               full: true
               name: 'iptest-6'
               newid: 303
               node: [redacted]
               state: 'present'
               timeout: 300
           - name: 'ТЕСТ 6: задача 2: установить статический IP xx.29 через cicustom из файла. Как PoC изменить память.'
             community.general.proxmox_kvm:
               api_host: [redacted]
               api_user: [redacted]
               api_token_id: [redacted]
               api_token_secret: [redacted]
               memory: 2048
               name: 'iptest-6'
               node: [redacted]
               state: 'present'
               timeout: 300
               update: true
               ### Network
               net:
                 net0: 'virtio,bridge=vmbr0,firewall=0'
               cicustom: 'network-config=local:snippets/[redacted]/test6.yaml'
    ```

    Это содержимое для файла test6.yaml:
    ```yaml
    version: 2
    ethernets:
     [redacted]:
       addresses:
         - [redacted].29/24
       gateway4: [redacted]
    ```

    Это содержимое для файла test3.yaml:
    ```yaml
    version: 2
    ethernets:
     [redacted]:
       addresses:
         - [redacted].26/24
    ```
     
     
     
    bbgeek17
    Guest
    #2
    0
    22.06.2025 19:01:00
    Я не смотрел видео, на которое ты ссылаешься. Шаблон для начала - это неизменное официальное изображение с сайта Debian? Какое именно? Тебе нужно упростить тестирование и установить базовый уровень. Это значит - ванильный Debian cloud image, минимальный набор команд конфигурации "qm". Доведи его до состояния, когда он работает так, как тебе нравится. Изучи получившийся файл конфигурации, затем сопоставь его с соответствующим ansible. Чтобы изучить конфигурацию, запусти "qm config [vmid]" (это самая важная часть, и ты её не предоставил). Могу сказать, что использование официального cloud image в качестве шаблона и клонирование его со статическим IP отлично работает у меня. Удачи, Blockbridge: Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    Vinvar
    Guest
    #3
    0
    24.06.2025 14:27:00
    Спасибо, @bbgeek17. Я использовал netinst от Debian. Я не знал про облачные образы, и, посмотрев на них, понял, что они гораздо лучше подходят для виртуальных машин, чем netinst, который я использую (для моих "голых" серверов). Когда я запустил Debian cloud image, следуя руководству, мне удалось запустить его. Сегодня узнал что-то новое и решил свою проблему. Еще раз спасибо!
     
     
     
    bbgeek17
    Guest
    #4
    0
    24.06.2025 14:48:00
    Отлично, рад слышать. Кстати, Cloud Image можно использовать и на bare metal, у провайдеров есть такое предложение: MAAS. Blockbridge: ультранизкая задержка, все-NVME общая память для Proxmox - https://www.blockbridge.com/proxmox
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры