II.1. Setup Frontend¶
Le Frontend est la machine qui contiendra la logique de l'application et qui va piloter les noeuds KVM.
Toute cette partie est à réaliser uniquement sur frontend.one
.
A. Database¶
🌞 Installer un serveur MySQL
- on va installer une version spécifique de MySQL, demandée par OpenNebula
-
ajouter un dépôt :
- télécharger le RPM disponible à l'URL suivante :
https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
- puis installez-le localement avec une commande
rpm
- télécharger le RPM disponible à l'URL suivante :
-
installer le paquet qui contient le serveur MySQL depuis ce nouveau dépôt :
- faites un
dnf search mysql
pour voir les paquets dispos - vous devriez voir un paquet
mysql-community-server
dispo - installez-le
- faites un
Quand vous faites une commande
dnf install
, ça télécharge un.rpm
(qui est juste une archive qui contient plein de fichiers) et ça l'installe automatiquement ("installer" ça veut juste dire qu'on extrait le contenu de l'archive et on dispose chaque fichier au "bon" endroit sur le système.)
🌞 Démarrer le serveur MySQL
- démarrer le service
mysqld
- activer ce service au démarrage
🌞 Setup MySQL
- un mot de passe temporaire pour l'utilisateur
root
de la base de données a été généré, il est visible dans/var/log/mysqld.log
- connectez-vous à la base pour y effectuer les commandes SQL suivantes :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'hey_boi_define_a_strong_password';
CREATE USER 'oneadmin' IDENTIFIED BY 'also_here_define_another_strong_password';
CREATE DATABASE opennebula;
GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin';
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
B. OpenNebula¶
🌞 Ajouter les dépôts Open Nebula
- ajoutez le dépôt suivant à la liste de dépôts de votre machine
[opennebula]
name=OpenNebula Community Edition
baseurl=https://downloads.opennebula.io/repo/6.10/RedHat/$releasever/$basearch
enabled=1
gpgkey=https://downloads.opennebula.io/repo/repo2.key
gpgcheck=1
repo_gpgcheck=1
- puis effectuez un ptit
dnf makecache -y
pour accélérer la suite :)
🌞 Installer OpenNebula
- installez les paquets
opennebula
,opennebula-sunstone
,opennebula-fireedge
🌞 Configuration OpenNebula
- dans le fichier
/etc/one/oned.conf
, définissez correctement les paramètres de connexion à la base de données, c'est la clauseDB =
que vous devez remplacer par
DB = [ BACKEND = "mysql",
SERVER = "localhost",
PORT = 3306,
USER = "oneadmin",
PASSWD = "also_here_define_another_strong_password",
DB_NAME = "opennebula",
CONNECTIONS = 25,
COMPARE_BINARY = "no" ]
🌞 Créer un user pour se log sur la WebUI OpenNebula
- pour ça, il faut se log en tant que l'utilisateur
oneadmin
sur le serveur - une fois connecté en tant que
oneadmin
, inscrivez le useroneadmin
et le password de votre choix dans le fichier/var/lib/one/.one/one_auth
sous la formeuser:password
Par exemple : vous stockez la chaîne
oneadmin:super_password
dans le fichier.
🌞 Démarrer les services OpenNebula
- démarrez les services
opennebula
,opennebula-sunstone
- activez-les aussi au démarrage de la machine
C. Conf système¶
🌞 Ouverture firewall
- ouvrez les ports suivants, avec des commandes
firewall-cmd
:
Port | Proto | Why ? |
---|---|---|
9869 | TCP | WebUI (Sunstone) |
22 | TCP | SSH |
2633 | TCP | Daemon oned et API XML RPC |
4124 | TPC et UDP | Monitoring |
29876 | TCP | NoVNC proxy |
D. Test¶
A ce stade, vous devriez déjà pouvoir visiter la WebUI de OpenNebula.
RDV sur http://10.3.1.10:9869
avec un navigateur ! Vous pouvez vous log avec les identifiants définis dans la partie B.