Maintenant que nous avons préparé l’infrastructure physique de votre Home Lab, nous allons pouvoir créer les machines virtuelles qui vont composer votre infrastructure Kubernetes. C’est parti !
Configuration de la machine hôte pour accueillir les VM du cluster Kubernetes
Les commandes suivantes doivent être exécutées sur le mini-PC que nous avons configuré à l’étape précédente. Pour ce faire, nous utiliserons une console d’accès distant via SSH à partir de votre poste de travail :
ssh homelabsrv
Mise à jour du système
La toute première action à entreprendre consiste à effectuer une mise à jour complète. Pour cela, exécutez la commande suivante :
sudo apt-get update && sudo apt-get upgrade
Paramétrage du pare-feu
Ensuite, nous allons configurer le pare-feu pour autoriser uniquement les connexions SSH. Les autres ports seront ouverts progressivement au fur et à mesure du déploiement des applications. Voici les commandes à exécuter :
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -P INPUT DROP
Ces commandes configurent les règles de filtrage de paquets :
sudo iptables -A INPUT -i lo -j ACCEPT
: Permet tout le trafic sur l’interface loopback (lo), ce qui est essentiel pour le bon fonctionnement de nombreuses applications et services sur le serveur local.sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
: Autorise les paquets associés à des connexions déjà établies ou en relation avec une connexion établie, permettant le fonctionnement des communications bidirectionnelles.sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
: Accepter les connexions entrantes sur le port 22 (SSH.sudo iptables -P INPUT DROP
: Définit la politique par défaut pour les connexions entrantes sur DROP, refusant ainsi tout trafic qui ne correspond pas aux règles définies précédemment.
Personnalisation du terminal
Comme nous devrons ouvrir plusieurs terminaux, il peut être utile de personnaliser leur apparence pour faciliter leur identification. Par exemple, vous pouvez changer la couleur de l’invite dans le terminal avec les commandes suivantes :
nano ~/.bashrc
Recherchez ensuite la ligne qui commence par PS1= et remplacez 01;32m par 01;31m.

Sauvegardez et quittez l’éditeur.
Installation de VirtualBox et Vagrant
Passons maintenant à l’installation de VirtualBox et Vagrant. VirtualBox nous permet de faire tourner des machines virtuelles, tandis que Vagrant facilite leur gestion. Les commandes d’installation sont les suivantes :
sudo apt-get install -y virtualbox vagrant
sudo reboot
Connectez-vous à nouveau en SSH à homelabsrv après qu’il ait redémarré. Vous constaterez tout de suite que le prompt est de couleur rouge, ce qui facilite la différenciation des différents terminaux.
Création d’un Vagrantfile
Après le redémarrage de votre système, il est temps de créer un Vagrantfile. Ce fichier décrit les machines virtuelles que nous allons utiliser. Pour cela, exécutez les commandes suivantes :
mkdir ~/kub
cd ~/kub
nano Vagrantfile
Ensuite, insérez le contenu suivant, sauvegardez et fermez l’éditeur :
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "kubmaster" do |kub|
kub.vm.box = "bento/ubuntu-22.04"
kub.vm.hostname = 'kubmaster'
kub.vm.box_url = "bento/ubuntu-22.04"
kub.vm.network :private_network, ip: "192.168.56.101"
kub.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 2048]
v.customize ["modifyvm", :id, "--name", "kubmaster"]
v.customize ["modifyvm", :id, "--cpus", "2"]
end
end
config.vm.define "kubnode1" do |kubnode|
kubnode.vm.box = "bento/ubuntu-22.04"
kubnode.vm.hostname = 'kubnode1'
kubnode.vm.box_url = "bento/ubuntu-22.04"
kubnode.vm.network :private_network, ip: "192.168.56.102"
kubnode.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 2048]
v.customize ["modifyvm", :id, "--name", "kubnode1"]
v.customize ["modifyvm", :id, "--cpus", "2"]
end
end
end
Ce fichier définit deux machines virtuelles : « kubmaster » et « kubnode1 ». Chacune d’elles est basée sur Ubuntu 22.04. Elles sont toutes deux configurées avec 2 Go de mémoire, 2 processeurs et un réseau privé.
Démarrage des machines virtuelles
Nous sommes maintenant prêts à créer les machines virtuelles. La commande suivante se chargera de configurer les VMs, de télécharger et d’installer l’OS et de configurer tout ce qui doit l’être.
vagrant up
Vagrant offre beaucoup plus de fonctionnalités que ce que nous avons présenté ici. Toutefois, dans notre cas il est plus instructif d’accomplir chaque étape manuellement.
Prochaines étapes
La machine homelabsrv héberge désormais deux machines virtuelles nommées kubmaster et kubnode1. À ce stade, ce sont des serveurs Ubuntu dépourvus de toute fonctionnalité. Dans la prochaine page, nous configurons les VMs pour être prêtes à accueillir le cluster Kubernetes sur ces deux machines virtuelles.
Navigation
Sommaire du dossier : Apprendre et expérimenter Kubernetes à l’aide de son Home Lab
Chapitres:
- Pourquoi un home lab facilite-t-il l’apprentissage et l’utilisation de Kubernetes ?
- Choisir un mini-pc pour héberger le cluster Kubernetes de son home lab
- Comprendre Kubernetes : Glossaire des termes fondamentaux
- Précédent : Configuration d’un Mini-PC pour accueillir Kubernetes : Installation d’Ubuntu Server 22.04 LTS
- Construire votre Home Lab : la création de machines virtuelles pour Kubernetes
- Suivant : Configuration votre home lab: Préparation des VMs pour le Cluster Kubernetes
- Installation des services Kubernetes sur les Machines Virtuelles