Le projet Kimchi
Disposer d’un outil de management simple et accessible pour le Kernel-based Virtual Machine (KVM) est possible avec Kimchi. Développé en Python, l’installation du projet kimchi est accessible à tous et permet en quelques commandes de disposer d’une plate-forme prêt à l’emploi. L’accès par navigateur web est idéale, le projet est sous licence LGPL et a été incubé par le grand projet Ovirt. Installons et configurons ensemble Kimchi sous CentOS 7.
Sommaire
- Les modules du projet Kimchi
- Installation du projet Kimchi (CentOS)
- Modifier le port d’écoute de wok (nginx)
- Conclusion
Les modules du projet Kimchi
Le moteur principal du projet est Wok, un framework web basé sur Cherrypy . Il peut être étendu par des plugins qui exposent les fonctionnalités via les API REST, :
- Kimchi (virtualisation management).
- Ginger Base (gestion de base de l’hôte).
- Ginger (administration du système).
Installation du projet Kimchi (CentOS)
L’interface Wok fonctionne avec un serveur web, ici nous ajoutons le dépôt nginx :
nano /etc/yum.repos.d/nginx.repo
Ajoutons le contenu suivant :
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
Téléchargeons la clé de signature des paquets nginx:
wget https://nginx.org/keys/nginx_signing.key
Installons la clé de signature des paquets nginx :
rpm --import nginx_signing.key
Installons les dépendances pour wok et Kimchi :
yum install nginx gcc make autoconf automake gettext-devel git rpm-build libxslt python-cherrypy python-cheetah PyPAM m2crypto python-jsonschema python-psutil python-ldap python-lxml openssl python-websockify logrotate
Téléchargeons wok et de Kimchi :
wget https://github.com/kimchi-project/wok/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm
wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm
Installons wok et de Kimchi :
yum install wok-2.5.0-0.el7.centos.noarch.rpm kimchi-2.5.0-0.el7.centos.noarch.rpm
L’interface de management est désormais accessible depuis n’importe qu’elle interface (ex : 127.0.0.1:8001). Il est également possible de rendre le port 8001 accessible depuis une interface avec le firewall de CentOS :
firewall-cmd --zone=public --add-port=8001/tcp --permanent
Ou encore avec UFW :
ufw allow 8001/tcp
Ou bien avec iptables :
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8001 -j ACCEPT
Installation des dépendances pour ginger-base :
yum install hddtemp libuser-python python-augeas python-netaddr python-ethtool python-ipaddr python-magic tuned lm_sensors python2-crypto
Téléchargement de ginger-base et de ginger :
wget http://kimchi-project.github.io/gingerbase/downloads/latest/ginger-base.el7.centos.noarch.rpm
wget http://kimchi-project.github.io/ginger/downloads/latest/ginger.el7.centos.noarch.rpm
Installation de ginger-base et de ginger :
yum install ginger-base.el7.centos.noarch.rpm ginger.el7.centos.noarch.rpm
Modifier le port d’écoute de wok dans nginx
L’interface wok fonctionne sur le port 8001, voici comment changer le port d’écoute :
Editons le fichier de configuration wok.conf dans nginx :
nano /etc/nginx/conf.d/wok.conf
Recherchons la ligne suivante :
listen 0.0.0.0:8001 ssl;
Remplaçons le port par :
listen 0.0.0.0:443 ssl;
Nous recherchons ensuite la ligne :
proxy_redirect http://127.0.0.1:8010/ https://$host:8001/;
Remplaçons le port comme ceci :
proxy_redirect http://127.0.0.1:8010/ https://$host:443/;
Editons ensuite le fichier wok.conf dans wok :
nano /etc/wok/wok.conf
Décommettons le proxy_port :
#proxy_port = 8001
Changeons la valeur :
proxy_port = 443
Relançons les services wokd et nginx
service wokd restart
service nginx restart
La console wok est accessible depuis https://localhost ou bien si vous avez ouvert le port 443 : https://votre_ip.
Conclusion
Le projet Kimchi est rapide à mettre en œuvre sur un serveur Linux. Il vous permettra de vous affranchir d’utiliser la libvirt et de connaître les commandes de virsh. Pour ma part, il est un outil complémentaire dans la gestion de mon infrastructure, il ne remplacera jamais la CLI que j’affectionne tout particulièrement. Quoi qu’il en soit, il vous permettra de faire vos premières armes un peu à la manière de webvirtmgr.