git clone https://github.com/acronis/vinfra.git
cd vinfra/
apt-get install pip
pip install .
vinfra --help
export VINFRA_PORTAL=https://192.168.222.10
export VINFRA_DOMAIN=Default
export VINFRA_PROJECT=admin #defaul для админского проекта, как в openstack, не работает. Нужно определять четкое название проекта
export VINFRA_USERNAME=admin
export VINFRA_PASSWORD=AdminPassword
Подробнее:
https://github.com/acronis/vinfra
Создание сети сразу с cidr:
service compute network create --cidr 10.1.1.0/24 --gateway 10.1.1.1 --dns-nameserver 1.1.1.1 network1 #dhcp включен по умолчанию
Создание роутера:
service compute router create --external-gateway public --internal-interface network=network1,ip-addr=10.1.1.1 router1 #snat включен по умолчанию
Добавить к роутеру доп порт (Если необходимо):
vinfra service compute router iface add --ip-address 10.2.2.1 --interface network2 router1
Добавить к роутеру статический маршрут:
service compute router set --route destination=10.2.2.0/24,nexthop=192.168.81.180 router1
Создание типа ВМ
service compute flavor create --vcpu 1 --ram 1024 flavor1
Загрузка образа
service compute image create --file /home/user/alt-p10-cloud-x86_64.qcow2 --disk-format qcow2 --public alt-p10-cloud
Создание ssh ключа:
vinfra service compute key create --public-key ~/.ssh/id_rsa.pub cli1 #Либо же вместо файла указать сам ключ
Создание ВМ:
vinfra service compute server create --key-name cli1 --count 1 --network id=network1,fixed-ip=10.1.1.11 --flavor flavor1 --volume source=image,id=alt-p10-cloud,size=10 server1
Смотрим id порта сервера:
vinfra service compute server iface list --server server1
Создаем floating ip для порта
vinfra service compute floatingip create --port-id 9091d204-60f3-4eca-b58d-bc03389318a5 --network public #Можно задать сразу floating ip статически, например: --floating-ip-address 172.17.17.17
Делаем файл с конфигурацией
vim lb_pool_config.yaml
- backend_protocol: HTTPS
backend_protocol_port: 443
lb_algorithm: ROUND_ROBIN
members:
- address: 10.1.1.11
- address: 10.1.1.12
name: pool1
protocol: HTTPS
protocol_port: 443
sticky_session: False
Создаем сам балансировщик
vinfra service compute load-balancer create --pools-config lb_pool_config.yaml lb1 network1
Смотрим id порта
vinfra service compute load-balancer show lb1 -c port_id
Приделываем floating ip к балансировщику
vinfra service compute floatingip create --port-id bad44371-a009-45ed-aceb-4c73f72aab3b --network public
Создание домена
domain create Domain2
Создание проекта в домене:
domain project create --domain Domain2 Project2
Смотрим доступные роли:
domain user list-available-roles
Создаем пользователя с ролью project_admin и паролем P@ssw0rd:
echo P@ssw0rd | vinfra domain user create --assign Project2 project_admin --domain Domain2 User2
Установка квот для проекта:
vinfra service compute quotas update c71223f4618943ea8770ea12dc0d7a53 --cores 10 --ram-size 10G --storage-policy default:512G
ram-size и storage-policy работают только в "оригинальной" консоли vinfra Кибер инф-ры. Вместо ram-size можно использовать --ram <ram_in_mb>
Создание диска из образа:
vinfra service compute volume create --image alt-p10-cloud --storage-policy default --size 30 volume1
Присоединить диск к вм:
vinfra service compute server volume attach --server server1 volume1
Отсоединить диск от вм:
vinfra service compute server volume detach --server server1 volume1
Расширить диск:
vinfra service compute volume extend --size 40 volume1 #40 - итоговый размер тома
Создание ГБ:
vinfra service compute security-group create
Назначить правила для ГБ:
vinfra service compute security-group rule create --protocol tcp --port-range-min 22 --port-range-max 44 --ingress sg1