Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Виртуальная Среда
    [SOLVED]Proxmox PHP API - Создание контейнера LXC.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [SOLVED]Proxmox PHP API - Создание контейнера LXC., Proxmox Виртуальная Среда
     
    Sharminte
    Guest
    #1
    0
    03.01.2018 17:46:00
    Привет, у меня проблема с созданием LXC-контейнера через PHP. API корректно подключается к pve, потому что я могу запускать и останавливать существующий контейнер, могу просматривать узлы и проверять, какой VIM следующий. Но при создании LXC я получаю значение bool(false). Мой код выглядит так: PHP: <?php
    require ('pve-1/pve2_api.class.php');

    $pve2 = new PVE2_API("SERVER_ADRESS", "USERNAME", "pam", "PASSWORD");

    $pve2->login();

    if ($pve2->login()) {

       # Получить имя первого узла.
       $nodes = $pve2->get_node_list();
       $first_node = $nodes[0];
       unset($nodes);

    $nextVMID = $pve2->get_next_vmid();

       $new_container_settings = array();
       $new_container_settings['ostemplate'] = "local:vztmpl/ubuntu-16.04-standard_16.04-1_amd64.tar.gz";
       $new_container_settings['vmid'] = $nextVMID;
       $new_container_settings['cpus'] = "2";
       $new_container_settings['description'] = "Тестовая ВМ с использованием Proxmox 2.0 API";
       $new_container_settings['disk'] = "8";
       $new_container_settings['hostname'] = "testapi.domain.tld";
       $new_container_settings['memory'] = "1024";
       $new_container_settings['nameserver'] = "10.11.12.252";
       // print_r($new_container_settings);
       print("---------------------------\n");

       var_dump($pve2->post("/nodes/".$first_node."/lxc/", $new_container_settings));
       print("\n\n");

    // print_r($pve2->post("/nodes/".$first_node."/lxc/107/status/start", array()));     // запуск lxc
    // print_r($pve2->post("/nodes/".$first_node."/lxc/107/status/stop", array()));     // остановка lxc
    } else {
       print("Не удалось войти на хост Proxmox.\n");
       exit;
    } Есть идеи, что я мог сделать не так?
     
     
     
    Bidi
    Guest
    #2
    0
    01.10.2018 16:00:00
    Привет, ребята, я использую тот же метод для запуска, остановки и приостановки ct/lxc, но у меня возникла проблема: я не могу понять, как уничтожить lxc/ct. Вот мой код, я использую его для WHMCS для одного продукта, который мы сделали, у нас Proxmox 3 и 5, запуск/остановка/приостановка работает отлично, но завершение/уничтожение нет, и я не могу понять, как это сделать. require("pve2_api.class.php"); .... $pve2 = new PVE2_API("$serverip", "$serverusername", "pam", "$serverpassword"); $pve2->login(); if ($pve2->login()) { $nodes = $pve2->get_node_list(); $first_node = $nodes[0]; $versiune = $pve2->get_version(); if ("$versiune" < "5") { print_r($pve2->post("/nodes/$first_node/openvz/$vmid/delete", array())); } else { print_r($pve2->post("/nodes/$first_node/lxc/$vmid/delete", array())); } я пробовал использовать delete и destroy, но ничего не сработало. Спасибо. Редактирование: нашел решение – вместо post нужно использовать delete.
     
     
     
    Bidi
    Guest
    #3
    0
    01.10.2018 17:09:00
    Теперь главный вопрос: как мне клонировать lxc?
     
     
     
    dcsapak
    Guest
    #4
    0
    02.10.2018 10:32:00
    пожалуйста, посмотрите https://pve.proxmox.com/pve-docs/api-viewer/index.html
     
     
     
    Bidi
    Guest
    #5
    0
    02.10.2018 11:41:00
    Обнаружил проблему, или я неправильно понял API, или API объяснен неверно. $data = array('newid' => "$nextVMID", 'hostname' => '$serviceid', 'full' => "1"); print_r($pve2->post("/nodes/$first_node/lxc/1000/clone", $data)); если не использовать параметр full, вы получите ошибку.
     
     
     
    Bidi
    Guest
    #6
    0
    05.10.2018 07:19:00
    Привет, ребята, я вернулся с небольшой проблемой, я не могу справиться. Я использую это $info = $pve2->get("/nodes/$serverip/lxc/$IDProxMox/status/current"); Это работает, но показывает все детали lxc, и я не знаю, как извлечь только имя виртуальной машины. В документации я не нашел никаких деталей вывода. Может, кто-то сможет помочь? Спасибо.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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