Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 (модуль community.general.proxmox_kvm)?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Как настроить сетевые настройки с помощью Ansible (модуль community.general.proxmox_kvm)?, Proxmox Виртуальная Среда
     
    samo.goljat
    Guest
    #1
    0
    25.10.2024 12:11:00
    Удалось подключиться к API-user и клонировать виртуальную машину.

    С:
    tasks:
     - name: Clone VM from template
       community.general.proxmox_kvm:
         api_user: "{{ api_user }}"
         api_password: "{{ proxmox_password }}"
         api_host: "{{ api_host }}"
         clone: AlmaT01 # Имя исходной ВМ (шаблон)
         name: "{{ vm_name }}" # Новое целевое имя ВМ
         node: "{{ node }}" # Proxmox node
         storage: dpve_LDisk01 # Storage backend
         format: qcow2 # Формат диска
         timeout: 500 # Timeout для операции
         register: clone_result

    Но когда дело доходит до настройки сетевых параметров, не получается их изменить этим подходом:
    - name: Configure network settings
     community.general.proxmox_kvm:
       api_user: "{{ api_user }}"
       api_password: "{{ proxmox_password }}"
       api_host: "{{ api_host }}"
       vmid: "{{ new_vmid }}"
       node: "{{ node }}"
       net:
         model: virtio
         bridge: vmbr10
         ip: "{{ ip_address }}/24"
         gw: "{{ gateway }}"
         nameservers: "{{ dns_servers }}"
         searchdomains: "{{ search_domain }}"
         update: yes
       https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_kvm­_module.html

    Я все делаю правильно (с точки зрения синтаксиса), или есть какой-то другой способ для этого? Результат, который я получаю от Ansible:

    TASK [Configure network settings] *****************************************************************************************************************************************************************************
    changed: [localhost]

    TASK [Verify network configuration via SSH (optional)] ********************************************************************************************************************************************************
    fatal: [localhost -> 10.1.12.195]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host 10.1.12.195 port 22: No route to host", "unreachable": true}

    PLAY RECAP ****************************************************************************************************************************************************************************************************
    localhost                  : ok=5    changed=3    unreachable=1    failed=0    skipped=1    rescued=0    ignored=0

    Судя по всему, задача выполняется, но IP-адрес не назначается корректно (он использует DHCP).

    Я также понятия не имею, как создать так называемый Cloud-init образ, и нет опций использования контейнеров.
     
     
     
    samo.goljat
    Guest
    #2
    0
    21.01.2025 11:30:00
    На самом деле, вопрос в том, существует ли способ настроить сетевые параметры напрямую через Ansible, минуя cloud-init образ/пакет. Сейчас у нас довольно простой процесс, состоящий из одного шага: https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest­_module.html - name: Клонируем виртуальную машину из Linux-шаблона и настраиваем community.vmware.vmware_guest: hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" datacenter: "{{ datacenter }}" state: present folder: /DC1/vm template: "{{ template }}" name: "{{ vm_name }}" cluster: DC1_C1 networks: - name: VM Network ip: 192.168.10.11 netmask: 255.255.255.0 wait_for_ip_address: true customization: domain: "{{ guest_domain }}" dns_servers: - 8.9.9.9 - 7.8.8.9 dns_suffix: - example.com - example2.com script_text: | #!/bin/bash touch /tmp/touch-from-playbook delegate_to: localhost
     
     
     
    LnxBil
    Guest
    #3
    0
    22.01.2025 23:41:00
    Я пока не делал это с помощью Ansible, но сделал через PVE API напрямую. Реализация аналогична той, что с VMware, с инструментами интеграции гостевой ОС (здесь qemu-guest-agent), которые позволяют опрашивать ВМ и настраивать что-то, если гостевая ОС это позволяет.
     
     
     
    samo.goljat
    Guest
    #4
    0
    23.01.2025 07:06:00
    Можешь, пожалуйста, скинуть ссылку на конкретный модуль Ansible или пример реализации? Я пытался с cloud-init image, и у меня получается с переменным успехом – некоторые вещи работают не так, как хотелось бы. Так что всё ещё ищу оптимальное решение.
     
     
     
    LnxBil
    Guest
    #5
    0
    23.01.2025 08:21:00
    Поисковые запросы для твоего поиска в Google будут "qemu-guest-agent run command" — и это выдаст кучу примеров, включая примеры с форумов.
     
     
     
    samo.goljat
    Guest
    #6
    0
    28.01.2025 11:06:00
    Удалось настроить конфигурацию cloud-init с помощью ansible, но похоже, возникла другая проблема. Должна быть какая-то настройка в файлах cloud-init, которая мешает виртуальной машине подключиться к локальной доменной сети.

    Работает: [root@vm~]# realm discover <local.domain> возвращает домен

    Работает только на классической установке Almalinux 9.5.

    [root@vm ~]# realm join <local.domain> -U <user> <path>
    realm: Не удалось подключиться к домену.

    Пожалуйста, проверьте https://red.ht/support_rhel_ad для получения помощи по наиболее распространенным проблемам.

    Работает отлично на классической Almalinux 9.5, но не работает на cloud-generic образе, который тоже Almalinux 9.5.

    Предполагаю, что какая-то настройка, которую конфигурирует cloud-init, влияет на подключение к домену. Но не могу точно определить, какой именно параметр/скрипт.

    Например, ssh_pwauth: yes внутри /etc/cloud/cloud.cfg включает аутентификацию по паролю через SSH, что было еще одной настройкой, от которой я хотел избавиться (по умолчанию было no).
     
     
     
    samo.goljat
    Guest
    #7
    0
    18.02.2025 13:29:00
    Проблема была в параметре подсети (совсем в другом месте).
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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