Installation et configuration de Kimchi

Découvrez le projet Kimchi, un outil de management KVM. Pilotez votre hyperviseur simplement dans une interface HTML5 intuitive et accessible à tous.

Jérémie KassianoffÉquipe Cybernetics 3 min de lecture
CertifiéLPI Linux Essentials – Exam 010-150
Installation et configuration de Kimchi

Cas d'usage concret

Vous voulez piloter votre hyperviseur KVM depuis une interface web simple : découvrez l'installation et la 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 :

bash
nano /etc/yum.repos.d/nginx.repo

Ajoutons le contenu suivant :

ini
[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:

bash
wget https://nginx.org/keys/nginx_signing.key

Installons la clé de signature des paquets nginx :

bash
rpm --import nginx_signing.key

Installons les dépendances pour wok et Kimchi :

bash
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 :

bash
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 :

bash
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 :

bash
firewall-cmd --zone=public --add-port=8001/tcp --permanent

Ou encore avec UFW :

bash
ufw allow 8001/tcp

Ou bien avec iptables :

bash
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8001 -j ACCEPT

Installation des dépendances pour ginger-base :

bash
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 :

bash
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 :

bash
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 :

bash
nano /etc/nginx/conf.d/wok.conf

Recherchons la ligne suivante :

nginx
listen 0.0.0.0:8001 ssl;

Remplaçons le port par  :

nginx
listen 0.0.0.0:443 ssl;

Nous recherchons ensuite la ligne :

bash
proxy_redirect http://127.0.0.1:8010/ https://$host:8001/;

Remplaçons le port comme ceci :

bash
proxy_redirect http://127.0.0.1:8010/ https://$host:443/;

Editons ensuite le fichier wok.conf dans wok :

bash
nano /etc/wok/wok.conf

Décommettons le proxy_port :

bash
#proxy_port = 8001

Changeons la valeur :

bash
proxy_port = 443

Relançons les services wokd et nginx

bash
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.

Jérémie Kassianoff

Équipe Cybernetics

Voir son profil

À lire ensuite

Migration Postgresql avec Veeam Backup & Replication
Linux

Migration Postgresql avec Veeam Backup & Replication

Lire l'article
Migration VMware ESXi vers Proxmox VE
Linux

Migration VMware ESXi vers Proxmox VE

Lire l'article
Déployer Microsoft Defender ATP avec Ansible
Linux

Déployer Microsoft Defender ATP avec Ansible

Lire l'article