====== Installation frontend One ======
{{tag>Virtualisation One front install}}
Le front Open Nebula permet de gérer la virtualisation.
===== Prérequis =====
Nous utilisons une installation minimale de Debian 11 sur une machine dédiée.
===== Configuration du dépôt APT =====
Nous installons les paquets dont nous avons besoin
apt install gpg wget apt-transport-https
Nous récupérons la clé publique du dépôt
wget -q -O- https://downloads.opennebula.io/repo/repo2.key | gpg --dearmor -o /usr/share/keyrings/one-archive-keyring.gpg
Nous créons le fichier de dépôt
cat > /etc/apt/sources.list.d/opennebula.list <
Nous mettons à jour la liste des paquets
apt update
===== Installation base de données =====
apt install mariadb-server
Nous nous connectons au client MariaDB
mysql
CREATE USER 'oneadmin' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin';
Nous sortons du client
QUIT
Nous configurons l'isolation des transactions
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
===== Installation OpenNebula =====
Nous installons les paquets OpenNebula à proprement parler
apt install opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow opennebula-provision
===== Configuration OpenNebula =====
Nous ajoutons la configuration de la base de données dans le fichier /etc/one/oned.conf
vi /etc/one/oned.conf
Nous remplaçons la configuration avec sqlite par
DB = [ BACKEND = "mysql",
SERVER = "localhost",
PORT = 0,
USER = "oneadmin",
PASSWD = "",
DB_NAME = "opennebula",
CONNECTIONS = 25,
COMPARE_BINARY = "no" ]
Nous configurons FireEdge
vi /etc/one/sunstone-server.conf
:public_fireedge_endpoint: http://one.example.com:443
Nous configurons onegate server
vi /etc/one/onegate-server.conf
:host: 0.0.0.0
Nous configurons onegate endpoint
vi /etc/one/oned.conf
ONEGATE_ENDPOINT = "http://one.example.com:5030"
===== Démarrage et activation des services =====
Nous démarrons les services
systemctl start opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow
Nous activons les services
systemctl enable opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow
===== Proxy Nginx =====
Nous installons Nginx
apt install nginx
Nous configurons le vHost
vi /etc/nginx/site-available/one.example.com.conf
##
# Nginx vHost
# Application: OpenNebula Sunstone
# Sources:
# https://github.com/storpool/addon-vnctoken/blob/master/vnctoken.conf.nginx
# https://forum.opennebula.io/t/fireedge-public-endpoint-is-not-working/9611/5
##
# No squealing.
server_tokens off;
# OpenNebula Sunstone upstream
upstream sunstone {
server 127.0.0.1:9869;
}
# OpenNebula fireedge upstream
upstream fireedge {
server 127.0.0.1:2616;
}
# OpenNebula websocketproxy upstream
upstream websocketproxy {
server 127.0.0.1:29876;
}
# HTTP virtual host, redirect to HTTPS
server {
listen 80;
server_name one.example.com;
return 301 https://one.example.com;
}
#
# Example Sunstone configuration (/etc/one/sunstone-server.conf)
#
#:vnc_proxy_port: 127.0.0.1:29876
#:vnc_proxy_support_wss: only
#:vnc_proxy_cert: /etc/letsencrypt/live/frontend/fullchain.pem
#:vnc_proxy_key: /etc/letsencrypt/live/frontend/privkey.pem
#:vnc_proxy_ipv6: false
#:vnc_request_password: false
#:vnc_client_port: 443
# HTTPS virtual host, proxy to Sunstone
server {
listen 443 ssl;
server_name one.example.com;
ssl_certificate /etc/ssl/certs/one.example.com.crt;
ssl_certificate_key /etc/ssl/private/one.example.com.key;
location / {
proxy_pass http://sunstone;
proxy_redirect off;
log_not_found off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}
location /websockify {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header x-forwarded-proto $scheme;
proxy_set_header Host $host;
proxy_buffering off;
proxy_http_version 1.1;
proxy_read_timeout 86400;
proxy_pass https://websocketproxy;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# HTTPS virtual host, proxy to FireEdge
server {
listen 443 ssl;
server_name fireedge.example.com;
ssl_certificate /etc/ssl/certs/fireedge.example.com.crt;
ssl_certificate_key /etc/ssl/private/fireedge.example.com.key;
location / {
proxy_pass http://fireedge;
proxy_redirect off;
log_not_found off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}
}
cd /etc/nginx/site-enabled
ln -s /etc/nginx/site-available/one.example.com.conf
Nous testons la configuration et redémarrons
nginx -t
systemctl reload nginx.service
===== Liens =====
* [[https://docs.opennebula.io/6.6/|documentation Open Nebula]]
* [[https://docs.opennebula.io/6.6/installation_and_configuration/frontend_installation/database.html#mysql|configuration MariaDB]]
* [[https://docs.opennebula.io/6.6/installation_and_configuration/frontend_installation/install.html|single frontend installation]]