Привет, хотел представить новый CLI инструмент, который моя компания и я разработали для более эффективного управления кластерами Proxmox VE. Этот инструмент называется pvecontrol, и он доступен как opensource проект здесь: . Он в основном был создан, чтобы облегчить нашу собственную работу, но может быть полезен всем, кому нужно "массово" управлять несколькими кластерами Proxmox VE, разбросанными по разным локациям. Его цель — не заменить Web UI или новый Proxmox Datacenter Manager, вместо этого мы сосредоточились на использовании API для автоматизации более сложных задач, которые обычно требуют нескольких взаимодействий с UI или которые просто невозможны с его помощью.
Одной из лучших особенностей является то, что вы можете определить учетные данные для доступа к нескольким кластерам в одном конфигурационном файле, позволяя запрашивать и управлять любым из них из вашей CLI. Ознакомьтесь с разделом конфигурации README для получения более подробной информации. Мы поддерживаем стандартную аутентификацию пользователя/пароля, но также API-токены и специальный механизм для получения учетных данных через специальную команду, что облегчает интеграцию с такими инструментами, как GnuPG, 1Password, Vault и т.д. Также поддерживается аутентификация и доступ через reverse application proxy teleport ( ), что полезно, если вы хотите скрыть ваш API за bastion системой.
Я не буду перечислять все функции здесь, но вот краткий обзор того, что доступно в настоящее время:
* Быстрый обзор ресурсов кластера
* Перенос виртуальных машин между узлами
* Перечисление хранилищ
* Получение и отображение прогресса и журналов задач
* Перечисление узлов
* Эвакуация узла
* Гораздо более удобный и умный массовый перенос ВМ
* Проверки корректности ресурсов кластера, обеспечивающие соответствие нашим рекомендованным настройкам.
Мы все знаем, что вы устали читать бесконечные тексты без доказательств {
"lightbox_close": "Закрыть",
"lightbox_next": "Следующий",
"lightbox_previous": "Предыдущий",
"lightbox_error": "Запрошенный контент не может быть загружен. Пожалуйста, попробуйте позже.",
"lightbox_start_slideshow": "Запустить слайд-шоу",
"lightbox_stop_slideshow": "Остановить слайд-шоу",
"lightbox_full_screen": "Полноэкранный режим",
"lightbox_thumbnails": "Миниатюры",
"lightbox_download": "Скачать",
"lightbox_share": "Поделиться",
"lightbox_zoom": "Увеличить",
"lightbox_new_window": "Новое окно",
"lightbox_toggle_sidebar": "Переключить боковую панель"
} .
Например, если вы хотите перечислить ВМ в кластере с сопутствующими ресурсами, отфильтровав их по имени и красиво отобразив результаты в формате markdown, pvecontrol может сделать это в одной команде:
Bash: `$ pvecontrol -c enix-devel-1 --output md vm list --filter name test --sort-by cpus`
INFO:root:Proxmox кластер: enix-devel-1
| vmid | имя | статус | узел | cpus | maxmem | maxdisk | теги |
| :----| :----------------| :----------------| :-----------------| :----| :-------| :-------| :-----------------------|
| 101 | test-tag | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 2.0 GiB | [] |
| 102 | test3 | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 2.2 GiB | [] |
| 103 | test4 | VmStatus.RUNNING | pve-devel-r1az2-2 | 1 | 1.0 GiB | 2.2 GiB | [] |
| 107 | test-tag-restore | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 7.0 GiB | [] |
| 100 | test | VmStatus.STOPPED | pve-devel-r1az2-1 | 8 | 1.0 GiB | 2.0 GiB | ['my-tag', 'another-one'] |
Это всего лишь один простой пример возможностей, и я рекомендую вам самостоятельно исследовать возможности, углубившись в репозиторий. И, конечно же, у нас уже есть несколько новых функций в конвейере тестирования — и еще больше в наших головах.
Одной из лучших особенностей является то, что вы можете определить учетные данные для доступа к нескольким кластерам в одном конфигурационном файле, позволяя запрашивать и управлять любым из них из вашей CLI. Ознакомьтесь с разделом конфигурации README для получения более подробной информации. Мы поддерживаем стандартную аутентификацию пользователя/пароля, но также API-токены и специальный механизм для получения учетных данных через специальную команду, что облегчает интеграцию с такими инструментами, как GnuPG, 1Password, Vault и т.д. Также поддерживается аутентификация и доступ через reverse application proxy teleport ( ), что полезно, если вы хотите скрыть ваш API за bastion системой.
Я не буду перечислять все функции здесь, но вот краткий обзор того, что доступно в настоящее время:
* Быстрый обзор ресурсов кластера
* Перенос виртуальных машин между узлами
* Перечисление хранилищ
* Получение и отображение прогресса и журналов задач
* Перечисление узлов
* Эвакуация узла
* Гораздо более удобный и умный массовый перенос ВМ
* Проверки корректности ресурсов кластера, обеспечивающие соответствие нашим рекомендованным настройкам.
Мы все знаем, что вы устали читать бесконечные тексты без доказательств {
"lightbox_close": "Закрыть",
"lightbox_next": "Следующий",
"lightbox_previous": "Предыдущий",
"lightbox_error": "Запрошенный контент не может быть загружен. Пожалуйста, попробуйте позже.",
"lightbox_start_slideshow": "Запустить слайд-шоу",
"lightbox_stop_slideshow": "Остановить слайд-шоу",
"lightbox_full_screen": "Полноэкранный режим",
"lightbox_thumbnails": "Миниатюры",
"lightbox_download": "Скачать",
"lightbox_share": "Поделиться",
"lightbox_zoom": "Увеличить",
"lightbox_new_window": "Новое окно",
"lightbox_toggle_sidebar": "Переключить боковую панель"
} .
Например, если вы хотите перечислить ВМ в кластере с сопутствующими ресурсами, отфильтровав их по имени и красиво отобразив результаты в формате markdown, pvecontrol может сделать это в одной команде:
Bash: `$ pvecontrol -c enix-devel-1 --output md vm list --filter name test --sort-by cpus`
INFO:root:Proxmox кластер: enix-devel-1
| vmid | имя | статус | узел | cpus | maxmem | maxdisk | теги |
| :----| :----------------| :----------------| :-----------------| :----| :-------| :-------| :-----------------------|
| 101 | test-tag | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 2.0 GiB | [] |
| 102 | test3 | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 2.2 GiB | [] |
| 103 | test4 | VmStatus.RUNNING | pve-devel-r1az2-2 | 1 | 1.0 GiB | 2.2 GiB | [] |
| 107 | test-tag-restore | VmStatus.RUNNING | pve-devel-r1az2-1 | 1 | 1.0 GiB | 7.0 GiB | [] |
| 100 | test | VmStatus.STOPPED | pve-devel-r1az2-1 | 8 | 1.0 GiB | 2.0 GiB | ['my-tag', 'another-one'] |
Это всего лишь один простой пример возможностей, и я рекомендую вам самостоятельно исследовать возможности, углубившись в репозиторий. И, конечно же, у нас уже есть несколько новых функций в конвейере тестирования — и еще больше в наших головах.
