Déployez rapidement vos instances grace à knife sur le cloud Ikoula

Dans cet article, qui est le premier de quelques uns nous allons rapidement présenter comment gérer vos instances grace à l'outil knife. Nous installerons le plugin knife cloudstack et nous créerons une instance sur le Cloud Ikoula.

Knife c'est quoi au juste ?

Knife c'est l'utilitaire en ligne de commande de la suite Chef.
Il sert à de nombreuses choses et nous allons l'utiliser pour provisionner rapidement nos instances sur le cloud Ikoula. Vous trouverez içi plus d'informations sur cet outil.

Les possibilités de knife sont augmentées grâce à des plugins, et en l'occurrence nous allons utiliser le plugin knife-cloudstack qui permet à knife de discuter avec l'api native de cloudstack l'orchestrateur du cloud ikoula.

Installation du plugin knife cloudstack

Nous avons choisi de présenter l'installation du plugin knife cloudstack sur une machine linux ubuntu 13.10. Les commandes d'installations, les packages, peuvent varier fortement sur d'autres distributions notamment en ce qui concerne les installations des gems ruby. N'hésitez pas a prendre contact avec nous si vous rencontrez des soucis à ce niveau, nous essaierons de vous apporter notre aide dans la mesure du possible.

Voici les commandes que vous devez effectuer afin de disposer sur votre machine de l'utilitaire knife et du plugin knife-cloudstack sur une ubuntu 13.10. Il vous faut évidemment un accès internet et l'installation des gems peut prendre du temps, armez vous de patience !

ikoula@ubuntu1310:~$ sudo apt-get install rubygems1.9.1 ruby1.9.1-dev build-essential
ikoula@ubuntu1310:~$ sudo gem install eventmachine
ikoula@ubuntu1310:~$ sudo gem install em-winrm -- --with-cflags=\"-O2 -pipe -march=native -w\"
ikoula@ubuntu1310:~$ sudo gem install knife-cloudstack --no-rdoc


Access Key et Secret Key

A la fin du processus d'installation, votre machine dispose de tous les outils pour gérer votre cloud chez Ikoula. Toutefois il vous faut également disposer de vos clés d'accès ! Elles vous ont peut-être déjà été fournies, ou vous pouvez également les générer en passant par votre interface pour plus d'informations vous pouvez consulter cette faq

Configuration de knife

Une fois muni de vos clés, vous allez pouvoir configurer le plugin knife cloudstack. La configuration se fait dans le fichier knife.rb. Si vous ne disposez pas déjà d'un fichier knife.rb, créez-en un nouveau.
L'endroit importe peu, du moment que vous lanciez les commandes qui suivront en étant dans le même répertoire.

Les directives a ajouter dans le fichier knife.rb sont les suivantes :

knife[:cloudstack_url] = "https://cloudstack.ikoula.com/client/api"
knife[:cloudstack_api_key]  = "<votre api key>"
knife[:cloudstack_secret_key] = "<votre secret key>"


Premieres commandes avec knife sur le cloud Ikoula

Avant de déployer une premiere instance, un bon moyen de tester que knife et son plugin knife cloudstack fonctionnent c'est de lancer une commande qui liste par exemple les offres de calculs que vous avez à votre disposition. Pour se faire voici la commande a utiliser :

ikoula@ubuntu1310:~$ knife cs service list


Vous aurez, si tout est correctement configuré, une réponse de ce genre :

Name           Memory  CPUs  CPU Speed  Created
m1.small       2GB     1     2000 Mhz   2013-12-04T15:02:35+0100
m1.extralarge  15GB    8     2000 Mhz   2013-12-04T15:04:33+0100
m1.large       7GB     4     2000 Mhz   2013-12-04T15:03:52+0100
m1.medium      4GB     2     2000 Mhz   2013-12-04T15:03:14+0100
t1.micro       1GB     1     2000 Mhz   2014-01-02T10:42:16+0100


Pour lister les zones de déploiement la commande est tout aussi simple :

ikoula@ubuntu1310:~$ knife cs zone list
Name                                              Network Type  Security Groups
Zone 1 France Advance Routing (Z01-R0-IKDC01-FR)  Advanced      false
Zone 2 France Advance Routing (Z02-R0-IKDC01-FR)  Advanced      false
Zone 3 France Direct Routing (Z03-R0-IKDC01-FR)   Basic         true


Ce retour mérite une explication rapide; Sur le cloud Ikoula, vous pouvez déployez vos instances sur 3 zones principales, dont une toute récente zone (la "Zone 3") qui vous permet d'avoir une instance configurée avec une adresse ip publique et sécurisée par le concept de groupes de sécurité. Vous trouverez plus d'informations içi

Création et lancement d'une instance

Pour créer et lancer une instance, la commande est la suivante :

ikoula@ubuntu1310:~$ knife cs server create testknife --template "Debian 7 - Minimal - 64bits" --service "t1.micro" --zone "Zone 3 France Direct Routing (Z03-R0-IKDC01-FR)" --no-bootstrap --no-public-ip --cloudstack-password


Au bout de quelques minutes (parfois secondes !), knife vous réponds ainsi, vous signifiant que tout s'est correctement déroulé :

Name: testknife
Password: XXXXXXXXXX
Public IP: 178.170.XX.XX
Afin de vérifier que la machine a bien été créée et démarrée vous pouvez utiliser :

ikoula@ubuntu1310:~$ knife cs server list
Name                      Public IP      Service   Template                       State    Instance  Hypervisor
testknife				  178.170.XX.XX  t1.micro  Debian 7 - Minimal - 64bits    Running  N/A       N/A


si vous désirez la stopper par exemple rien de plus simple avec knife :
ikoula@ubuntu1310:~$ knife cs server stop testknife


Un prompt de confirmation vous sera présenté sur ce type de commandes.
L'ajout de l'option -y effectuera la commande sans vous demander de confirmer, idéal dans le cadre de scripts.

Dans le prochain article, nous utiliserons l'outil knife pour configurer (bootstrap) et installer (cook) des applications sur cette nouvelle instance tournant sur le cloud ikoula !

Tags: 


Ajouter un commentaire