Tutoriel | Déployez facilement un cluster Kubernetes avec Rancher

Article publiée le 13 Janvier 2018

Article mis à jour le 21 Août 2018

Kubernetes est un orchestrateur de container docker extrêmement puissant mais également très fastidieux à déployer. Il existe pourtant un moyen très simple pour déployer Kubernetes en utilisant Rancher.

Rancher est un outil permettant de gérer vos environnements Docker de manière intuitive via une interface graphique  (site de Rancher: https://rancher.com/)

Pour ce tuto je vais utiliser trois machines sous Debian 9 avec docker installé. Pour ceux qui ne connaissent pas Docker, je leurs suggère de lire le tutoriel ci-dessous:

Tuto Docker | Démarrer avec Docker

Pour info un tutoriel rédigé le 20 Août 2018 explique comment installer Kubernetes from scratch (à la mano!) sur Debian ou Centos . Ce tuto est disponible ici

1) Installation de Rancher

Installer Rancher est très facile, il suffit de déployer le container fournit par l’éditeur:

Au moment de la rédaction de cet article, la version stable de Rancher est la version 1.6. La version 2.0 est une version Alpha en cours de développement (très instable).

Nous allons installer Rancher sur notre première machine:

docker run -d –restart=unless-stopped -p 8080:8080 rancher/server:stable

Une fois le container installé, connectez vous à l’interface Web: <ip de votre machine>:8080

Rancher est installé et opérationnel!

Petite parenthèse, si vous allez dans l’onglet « CATALOG » vous verrez que Rancher peut déployer un large panel d’outils:

 

2) Kubernetes

Revenons en à nos moutons, nous allons maintenant déployer Kubernetes via Rancher.

Dans un premier temps cliquez sur l’onglet « infrastructure » puis « Hosts »

Puis cliquez sur le bouton « Add Host »:

Contentez vous de copier la ligne de commande au paragraphe 5 et de la coller sur toutes les machines Linux qui serviront de nœud à votre infra kubernetes (dans mon cas les 3 machines sous Debian que j’ai créées).

Cette commande va déployer un container contenant un agent Rancher qui va gérer chacune de vos machines!

Retournez dans l’onglet « infrastructure »/ »Hosts » pour vérifier que vos machines sont bien remontées:

Cliquez ensuite sur « Catalog » puis cherchez « Kubernetes » et cliquez sur « View details »:

Laissez tout par défaut et validez en cliquant sur le bouton tout en bas de la page.

Un nouvel onglet  « Kubernetes devrait apparaître. En cliquant dessous, vous pourrez suivre l’avancement de l’installation:

Vous pouvez suivre avec plus de détails l’installation de chaque composant Kubernetes en cliquant sur l’onglet « Kubernetes » puis « Infrastructure Stacks »:

Une fois que tous les statuts seront à « Active », les composants Kubernetes seront installés:

 

Vous pouvez maintenant vous connectez à l’interface Kubernetes en cliquant sur l’onglet « Kubernetes » puis « Dashboard »:

Cliquez sur « Kubernetes UI »:

Vous voila connecté à l’interface Kubernetes.

Pour les personnes ayant plus de connaissances, une interface en ligne de commande est également disponible depuis l’interface de Rancher via l’onglet « Kubernetes »/ »_Cli »:

 

3) Déploiement d’un container

Pour vous prouver que je ne me moque pas de vous et que tout fonctionne, je vais déployer un container apache répliqué sur 2 deux nœuds:

Cliquez sur le bouton « CREATE » en haut à droite et remplissez les champs requis:

Deux container apache ont été déployés sur deux différents nœuds (très pratique pour la tolérance de panne ;-)):

En me connectant sur l’un des nœuds au hasard, mon apache répond bien!

Enjoy!