149
NEBULA/nebula.md
149
NEBULA/nebula.md
@@ -74,11 +74,7 @@ systemctl enable opennebula opennebula-fireedge opennebula-flow opennebula-gate
|
|||||||
В целом, нам, для начала, необходимо создать Host. Это место, где будут крутиться наши виртуалки
|
В целом, нам, для начала, необходимо создать Host. Это место, где будут крутиться наши виртуалки
|
||||||
Имя хоста обязательно должно совпадать с записью в `/etc/hosts`, так-же, если хост находится на одном с небулой сервере, то необходимо что-бы он был с ip 127.0.0.1
|
Имя хоста обязательно должно совпадать с записью в `/etc/hosts`, так-же, если хост находится на одном с небулой сервере, то необходимо что-бы он был с ip 127.0.0.1
|
||||||
Далее
|
Далее
|
||||||
```
|
|
||||||
su - oneadmin -c "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa"
|
|
||||||
su - oneadmin -c "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys"
|
|
||||||
chmod 600 /var/lib/one/.ssh/authorized_keys
|
|
||||||
```
|
|
||||||
Проверим возможность Oneadmin общаться с самим собой
|
Проверим возможность Oneadmin общаться с самим собой
|
||||||
```
|
```
|
||||||
su - oneadmin
|
su - oneadmin
|
||||||
@@ -87,13 +83,11 @@ ssh -o StrictHostKeyChecking=no localhost
|
|||||||
Если нас пустило без пароля - шик
|
Если нас пустило без пароля - шик
|
||||||
Пишем
|
Пишем
|
||||||
```
|
```
|
||||||
apt-get install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils
|
|
||||||
usermod -a -G libvirt,kvm oneadmin
|
usermod -a -G libvirt,kvm oneadmin
|
||||||
```
|
```
|
||||||
После этого мы почти готовы поднимать VM, но ещё не совсем
|
После этого мы почти готовы поднимать VM, но ещё не совсем
|
||||||
```
|
```
|
||||||
ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm-one
|
ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm-one
|
||||||
chown -R oneadmin:oneadmin /var/lib/one/datastores
|
|
||||||
systemctl restart libvirtd
|
systemctl restart libvirtd
|
||||||
```
|
```
|
||||||
Далее `nano /etc/libvirt/qemu.conf`
|
Далее `nano /etc/libvirt/qemu.conf`
|
||||||
@@ -111,17 +105,9 @@ systemctl restart libvirtd
|
|||||||
chown -R oneadmin:oneadmin /var/lib/one/datastores
|
chown -R oneadmin:oneadmin /var/lib/one/datastores
|
||||||
chmod -R 770 /var/lib/one/datastores
|
chmod -R 770 /var/lib/one/datastores
|
||||||
```
|
```
|
||||||
После этого, ради работы VNC установим FireBridge
|
|
||||||
```
|
|
||||||
echo "$(openssl rand -base64 32)" > /etc/one/fireedge_key
|
|
||||||
chown oneadmin:oneadmin /etc/one/fireedge_key
|
|
||||||
chmod 600 /etc/one/fireedge_key
|
|
||||||
systemctl enable opennebula-fireedge
|
|
||||||
systemctl start opennebula-fireedge
|
|
||||||
```
|
```
|
||||||
Установим "гуакд"
|
Установим "гуакд"
|
||||||
```
|
```
|
||||||
apt-get install -y opennebula-guacd
|
|
||||||
systemctl enable --now opennebula-guacd
|
systemctl enable --now opennebula-guacd
|
||||||
```
|
```
|
||||||
Проверим его работоспособность
|
Проверим его работоспособность
|
||||||
@@ -136,137 +122,4 @@ nano /etc/one/sunstone-server.conf
|
|||||||
:public_fireedge_endpoint: http://ip_addr_of_your_server(Domain):2616
|
:public_fireedge_endpoint: http://ip_addr_of_your_server(Domain):2616
|
||||||
:fireedge_verify_ssl: false
|
:fireedge_verify_ssl: false
|
||||||
```
|
```
|
||||||
Затем нагенерим самописные-серты для fireedge
|
|
||||||
```
|
|
||||||
# Create the directory
|
|
||||||
mkdir -p /etc/one/ssl
|
|
||||||
cd /etc/one/ssl
|
|
||||||
|
|
||||||
# Generate a self-signed certificate (valid for 365 days)
|
|
||||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
|
|
||||||
-keyout opennebula.key -out opennebula.crt \
|
|
||||||
-subj "/C=US/ST=State/L=City/O=OpenNebula/CN=ip_addr_of_your_server"
|
|
||||||
|
|
||||||
# Ensure the oneadmin user can read them
|
|
||||||
chown -R oneadmin:oneadmin /etc/one/ssl
|
|
||||||
chmod 600 /etc/one/ssl/opennebula.key
|
|
||||||
chmod 644 /etc/one/ssl/opennebula.crt
|
|
||||||
```
|
|
||||||
Далее
|
|
||||||
```
|
|
||||||
nano /etc/one/fireedge-server.conf
|
|
||||||
```
|
|
||||||
Там проверяем, что
|
|
||||||
```
|
|
||||||
:host: 127.0.0.1
|
|
||||||
:port: 2617 меняем порт на 2617
|
|
||||||
```
|
|
||||||
```
|
|
||||||
nano /etc/nginx/sites-available/fireedge
|
|
||||||
```
|
|
||||||
Вставляем туда
|
|
||||||
```
|
|
||||||
server {
|
|
||||||
listen 2616 ssl;
|
|
||||||
server_name ip_addr_of_your_server;
|
|
||||||
|
|
||||||
ssl_certificate /etc/one/ssl/opennebula.crt;
|
|
||||||
ssl_certificate_key /etc/one/ssl/opennebula.key;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:2617;
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
Потом
|
|
||||||
```
|
|
||||||
ln -s /etc/nginx/sites-available/fireedge /etc/nginx/sites-enabled/
|
|
||||||
rm /etc/nginx/sites-enabled/default
|
|
||||||
systemctl restart nginx
|
|
||||||
systemctl restart opennebula-fireedge
|
|
||||||
```
|
|
||||||
И в целом всё
|
|
||||||
Ваша небула будет доступна через браузер **http://your-server-ip:9869**
|
|
||||||
|
|
||||||
iptables -A INPUT -p tcp --dport 5900:6000 -j ACCEPT
|
|
||||||
|
|
||||||
# Но это ведь слишком скучно. Хочется домен, хочется ходить без порта.
|
|
||||||
Генерим конфигурационный файл для нашего облачка
|
|
||||||
```
|
|
||||||
nano /etc/nginx/sites-available/sunstone.conf
|
|
||||||
```
|
|
||||||
И вставим туда
|
|
||||||
```
|
|
||||||
server {
|
|
||||||
server_name nebula.reisber.space;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:9869;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
|
|
||||||
# Для WebSocket
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_read_timeout 3600;
|
|
||||||
proxy_send_timeout 3600;
|
|
||||||
|
|
||||||
proxy_request_buffering off;
|
|
||||||
proxy_buffering off;
|
|
||||||
|
|
||||||
}
|
|
||||||
location /fireedge/ {
|
|
||||||
proxy_pass http://127.0.0.1:2617; # порт FireEdge
|
|
||||||
proxy_http_version 1.1;
|
|
||||||
|
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
|
|
||||||
proxy_read_timeout 3600;
|
|
||||||
proxy_send_timeout 3600;
|
|
||||||
|
|
||||||
proxy_buffering off;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
Сохраним и проверим наш конфиг, а так-же растартнем nginx
|
|
||||||
```
|
|
||||||
nginx -t
|
|
||||||
systemctl restart nginx
|
|
||||||
```
|
|
||||||
После этого получим серт через Certbot (да, это правда особо не нужно, но лень каждый раз смотреть, что соединение не безопасно)
|
|
||||||
```
|
|
||||||
certbot --nginx -d pu-pu-pu-pu-pu-pu.domain.com
|
|
||||||
```
|
|
||||||
Вот и всё, мы прекрасны
|
|
||||||
|
|
||||||
|
|
||||||
Для загрузки ISO лучше всего использовать scp
|
|
||||||
```scp pupu.iso oneadmin@server:/var/lib/one/datastores/0/```
|
|
||||||
Или грузить всё в домашнюю директорию рута и оттуда
|
|
||||||
Перед этим нужно подредачить настройки хранилища
|
|
||||||
|
|
||||||
```
|
|
||||||
onedatastore show 1 (ID_ХРАНИЛИЩА)
|
|
||||||
|
|
||||||
Если видим дискомфортное количество или просто "/" в `RESTRICTED_DIRS`
|
|
||||||
То:
|
|
||||||
```
|
|
||||||
onedatastore update 1
|
|
||||||
```
|
|
||||||
И просто сносим RESTRICTED_DIRS
|
|
||||||
После этого, через WEB-GUI можно будет добавлять ISO по их пути на сервере
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo mv ~/pupu.iso /var/lib/one/datastores/0/
|
|
||||||
sudo chown oneadmin:oneadmin /var/lib/one/datastores/0/pupu.iso
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user