Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    Клонирование виртуальной машины с помощью Ansible и изменение IP-адреса.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Клонирование виртуальной машины с помощью Ansible и изменение IP-адреса., Proxmox Виртуальная Среда
     
    Molix
    Guest
    #1
    0
    09.12.2023 11:18:00
    Привет! У меня такой playbook:

    - name: Clone template
     hosts: pve2
     gather_facts: no
     vars_prompt:
       - name: vm_name
         prompt: "Пожалуйста, введи имя VM"
         private: false
       
     tasks:
       - name: Clone template
         community.general.proxmox_kvm:
           node: pve2
           api_user: root@pam
           api_password: xxxxxxx
           api_host: 192.168.0.195
           clone: TestKlon
           name: "{{ vm_name }}"
           full: false
           format: unspecified
           timeout: 500
       
       
       - name: Warte auf die VM-Erstellung
         pause:
          seconds: 10  # waiting until vm ist created
       
       - name: Update
         community.general.proxmox_kvm:
           node: pve2
           api_user: root@pam
           api_password: xxxxxxxxx
           api_host: 192.168.0.195
           name: "{{ vm_name }}"
           ipconfig:
             ipconfig0: 'ip=192.168.0.101/24,gw=192.168.0.1'
           update: yes
       
       - name: Start VM
         community.general.proxmox_kvm:
           api_user: root@pam
           api_password: xxxxxxxxxx
           api_host: 192.168.0.195
           node: pve2
           name: "{{ vm_name }}"
           state: started

    Привет, всё отлично работает, только IP не меняется. Шаблон — Ubuntu server, я вводил IP через netplan. Это вообще возможно или я не по пути? Ошибок или чего-то подобного нет.
    Привет и спасибо!
     
     
     
    sb-jw
    Guest
    #2
    0
    09.12.2023 11:58:00
    Если ваш VM (или шаблон) развернут с cloud-init, то он должен работать так. Если это не cloud-init VM (или шаблон), то он тоже не должен так работать.
     
     
     
    Molix
    Guest
    #3
    0
    09.12.2023 16:36:00
    Это не cloud-init, ок, спасибо.
     
     
     
    jtremblay
    Guest
    #4
    0
    20.04.2024 23:20:00
    У меня та же проблема, использую облачный образ Alma9 с cloud-init, и не получается изменить IP-адрес.

    ```yaml
    tasks:
    - name: Клонирование шаблона
     community.general.proxmox_kvm:
       node: "{{ pve_node }}"
       api_user: "{{ api_user }}"
       api_password: "{{ api_password }}"
       api_host: "{{ api_host }}"
       clone: 'alma9-cloud'
       vmid: "{{ 9999 }}"
       name: "{{ vmname }}"
       newid: '{{ vmid }}'
       full: true
       storage: 'nas_vm'
       format: qcow2
       timeout: 500

    - name: Ожидание создания ВМ
     pause:
       seconds: 10 # ожидание, пока ВМ не будет создана

    - name: Обновление ВМ
     community.general.proxmox_kvm:
       node: "{{ pve_node }}"
       api_host: "{{ api_host }}"
       api_user: "{{ api_user }}"
       api_password: "{{ api_password }}"
       name: "{{ vmname }}"
       ipconfig:
         ipconfig0:
           ip: "{{ip_address}}/{{subnet_mask}}"
           gw: "{{gateway}}"
       update: yes

    - name: Запуск ВМ
     community.general.proxmox_kvm:
       api_user: "{{ api_user }}"
       api_password: "{{ api_password }}"
       api_host: "{{ api_host }}"
       node: "{{ pve_node }}"
       name: "{{ vmname }}"
       state: started
    ```

    TASK [Запуск ВМ] *********************************************************************************
    changed: [localhost] => changed=true
    invocation:
     module_args:
       acpi: true
       agent: null
       api_host: kvmh0
       api_password: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER
       api_token_id: null
       api_token_secret: null
       api_user: root@pam
       args: null
       autostart: false
       balloon: 0
       bios: null
       boot: cnd
       bootdisk: null
       cicustom: null
       cipassword: null
       citype: null
       ciuser: null
       clone: null
       cores: 1
       cpu: kvm64
       cpulimit: null
       cpuunits: 1000
       delete: null
       description: null
       digest: null
       force: false
       format: qcow2
       freeze: null
       full: true
       hostpci: null
       hotplug: null
       hugepages: null
       ide: null
       ipconfig:
         ipconfig0:
           ip: 192.168.1.169/24
           gw: 192.168.1.1
       keyboard: null
       kvm: true
       localtime: null
       lock: null
       machine: null
       memory: 512
       migrate_downtime: null
       migrate_speed: null
       name: test104
       nameservers: null
       net: null
       newid: null
       node: kvmh0
       numa: null
       numa_enabled: null
       onboot: null
       ostype: l26
       parallel: null
       pool: null
       protection: null
       proxmox_default_behavior: compatibility
       reboot: null
       revert: null
       sata: null
       scsi: null
       scsihw: null
       searchdomains: null
       serial: null
       shares: null
       skiplock: null
       smbios: null
       snapname: null
       sockets: 1
       sshkeys: null
       startdate: null
       startup: null
       state: started
       storage: null
       tablet: false
       target: null
       tdf: null
       template: false
       timeout: 30
       update: true
       validate_certs: false
       vcpus: null
       vga: std
       virtio: null
       vmid: null
       watchdog: null
     msg: ВМ 101104 запущена

    TASK [Ожидание создания ВМ] ***********************************************************************
    Пауза на 10 секунд (нажмите ctrl+C затем 'C' = продолжить рано, ctrl+C затем 'A' = прервать)
    ok: [localhost] => changed=false
    delta: 10
    echo: true
    rc: 0
    start: '2024-04-20 16:50:35.626978'
    stderr: ''
    stdout: Paused for 10.0 seconds
    stop: '2024-04-20 16:50:45.627560'
    user_input: ''

    META: ran handlers
    META: ran handlers

    PLAY RECAP *************************************************************************************
    localhost                  : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

    Есть две вещи, которые я хотел бы добавить к этому "плейбуку":
    1) Я хотел бы изменить размер диска
    2) Я хотел бы изменить hostname
    Я знаю, что я могу изменить это с помощью другого плейбука. Но это не должно быть проблемой для настройки здесь…
     
     
     
    jtremblay
    Guest
    #5
    0
    21.04.2024 22:48:00
    У меня ещё инфа: Я был на ноутбуке с Ubuntu и перешёл на свой ноутбук с AlmaLinux 9. После выполнения стандартных инструкций по установке Ansible, я получаю другое количество информации в ошибке. "Bad Request: Parameter verification failed. - {'ipconfig0': 'invalid format - format error\\nipconfig0. gw: property is not defined in schema and the schema does not allow additional properties\\n'}" Я изменил это: ipconfig: ipconfig0: ip={{ip_address}}/{{subnet_mask}},gw={{gateway}} на: ipconfig: ipconfig0: ip={{ip_address}}/{{subnet_mask}} и это установило IP!
     
     
     
    Casulo
    Guest
    #6
    0
    24.06.2025 01:23:00
    Должно быть: YAML: ipconfig:
             ipconfig0: 'ip=192.1658.0.151/24,gw=192.168.0.1'
     
     
     
    guruevi
    Guest
    #7
    0
    24.06.2025 02:59:00
    Когда ты клонируешь ВМ, тебе нужно сбросить MAC-адрес и ID хоста, иначе твой DHCP-сервер будет выдавать один и тот же IP. Если у тебя статический IP, тебе потребуется какой-то другой способ получить доступ к устройству до включения сети. Обе эти задачи можно выполнить в Ansible либо при создании шаблона, либо перед началом клонирования: придется смонтировать диск и изменить файлы. Если у тебя фиксированный IP и нет возможности изменять файлы, я бы создал фиктивную сеть с тем же подсетью и реализовал какой-то прокси для твоего Ansible-скрипта, который сможет получить доступ к этой подсети.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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