<< Tous les articles

Installation et configuration de Kimchi

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

  1. Les modules du projet Kimchi
  2. Installation du projet Kimchi (CentOS)
  3. Modifier le port d’écoute de wok (nginx)
  4. 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.