Installer et configurer Rancher 2 sur une seule machine

Introduction

L’objectif de cet article est de mettre en place un Kubernetes avec une configuration minimale, c’est-à-dire,

  • un certificat SSL auto-signé (self-signed certificate)
  • le rancher et le rancher agent disponible sur la même machine
  • Aucun service DNS externe

Le but de faire ce type de machine est de pouvoir expérimenter Rancher et Kubernetes et à la fois déployer des applications en staging/tests rapidement sur Kubernetes.

Étape 1 – Installation de l’OS

J’utilise oVirt en tant que hypervisor, j’ai créé deux partitions,

  • 25GB -> Pour Centos 7.6
  • 60GB -> Pour Docker

L’installation de Centos 7 est de type minimal. (non montré ici,)

La partition de docker (60GB) est de type XFS et le storage est disponible dans /DATA

Étape 2 – Installation des dépendances

Docker

Suivre la documentation de Docker (https://docs.docker.com/install/linux/docker-ce/centos/), sinon

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

Avant de démarrer Docker, il faut modifier l’emplacement du fichier /var/lib/docker

sudo mv /var/lib/docker /DATA/
sudo ln -s /DATA/docker /var/lib/docker

Maintenant, vous pouvez démarrer le service Docker

sudo systemctl start docker
sudo systemctl enable docker

Étape 3 – Installation de Rancher 2

Vous devez utiliser le port 8080 et 4443 pour être capable de rouler l’agent et rancher sur la même machine.

docker run -d --restart=unless-stopped \
  -p 8080:80 -p 4443:443 \
  -v /opt/rancher:/var/lib/rancher \
  rancher/rancher:latest

Étape 4 – Configuration et ajout du noeud

Vous devez accéder à votre machine : https://ip-de-votre-machine:4443

Configurer un mot de passe,

ensuite cliquer sur Create cluster

Create Rancher 2 Cluster

Choisissez type custom, Entrer un nom pour votre cluster

Cluster details

Ensuite vous devez cocher toutes les options, ETCD, CONTROL, WORKER, puis copiez la commande sur la machine.

Docker command generated

Étape 5 – Test et validation

Vous devriez voir défiler les actions qui sont effectuées sur votre machine, après environ 10 minutes vous devriez avoir un cluster contenant une node.

Troubleshooting

Dans le cas où vous avez des erreurs ou que ça ne fonctionne pas, vous pouvez recommencer à zéro,

docker rm -f $(docker ps -aq)
rm -rf /opt/rancher
rm -rf /opt/rke
rm -rf /etc/kubernetes
service docker stop
service docker start

Puis vous pouvez relancer les commandes et réessayer.

Finalement,

sudo yum remove docker-ce docker-ce-cli containerd.io -y
sudo yum install docker-ce docker-ce-cli containerd.io -y

systemctl enable docker
systemctl start docker

docker run -d --restart=unless-stopped \
  -p 8080:80 -p 4443:443 \
  -v /DATA/rancher:/var/lib/rancher \
  rancher/rancher:latest

Il faut aussi changer le path du noeud : /etc/kubernetes -> /DATA/kubernetes

Sources

Laisser un commentaire