Table des matières

Kubespray

Kubespray est une suite de playbook ansible pour déployer un cluster kubernetes.

Installation

Création d'un virtualenv dédié à kubespray

Le plus simple est de passer par un virtualenv python pour installer Ansible et les outils nécessaires.

Pour la création du virtualenv :

virtualenv kubespray-virtualenv

On travaille ensuite dans ce virtualenv :

cd kubespray-virtualenv
source bin/activate

Installation de kubespray et de ses dépendances

On récupère kubespray :

git clone https://github.com/kubernetes-sigs/kubespray.git

On se place dans le répertoire kubespray et on installe les dépendances :

cd kubespray
pip install -r requirements.txt

Un autre prérequis nécessaire est python3-netaddr. Comme il est souvent nécessaire à Ansible je préfère l'installer côté systeme via dnf. Sinon pip install netaddr devrait faire le boulot.

Configuration de notre inventaire

L'inventaire de nos machines à configurer pour le cluster kubernetes va être généré dynamiquement. Pour cela il faut définir la variable IPS contenant leurs IP :

declare -a IPS=(192.168.2.57 192.168.2.69 192.168.2.90)

Pour générer l'inventaire :

CONFIG_FILE=inventory/mycluster/hosts.ini python3 contrib/inventory_builder/inventory.py ${IPS[@]}\n

Lancement du playbook

J'ai du préciser dans le ansible.cfg que le remote_user était root.

Pour lancer le playbook :

ansible-playbook -i inventory/mycluster/hosts.ini --become --become-user=root cluster.yml

Voilà.