This project aims to deepen your knowledge by making you use K3d as well than K3s with Vagrant.
You will learn how to set up a personal virtual machine with Vagrant and CentOS. Then to use K3s and its Ingress. Finally, you use K3d which will make life easier.
You will thus have a beginning of experience in the use of Kubernetes.
This project is a basic introduction to Kubernetes. Indeed, this tool is too complex to grasp in a single topic.
This project consists of having you set up several environments by following specific rules.
This project is divided into three parts to be done in the order indicated:
• Part 1: K3s with Vagrant • Part 2: K3s with three simple applications • Part 3: K3d with Argo CD
Configuration de la vm qui contient les autres vm :
Installation de ubuntu 20.04
création de la vm:
- installer virtualbox
- appuyer sur new :
- créer la vm avec linux, ubuntu, 4096 de mémoire vive, 40 GB de stockage sur le
disque dur virtualbox, effacer le disque, avant de lancer la vm, mettez 4 cpu dans settings setup linux, reboot et taper entrer
- faire l'update et l'upgrade des packages disponibles
- lancer la commande dans votre terminal de pc pour la vm Host : VBoxManage modifyvm vm-name --nested-hw-virt on
- installer les additions guests sur la vm Host
!!! très important, virtualisation obligatoire !!!
Synced folder:
Pour créer le synced folder, vous devez ajouter un dossier partagé après avoir renseigner dans virtualbox un path, et cocher auto-mount
ensuite, lancer la vm et run cette commande :
**sudo apt install virtualbox-guest-utils**
**sudo adduser [username] vboxsf**
then reboot and open the file with sf_ in front if it
copy wanted data to home
- suivre les walktrought
k3s :
K3s est une distribution Kubernetes légère créée par Rancher Labs,
et il est entièrement certifié par la Cloud Native Computing Foundation (CNCF).
k3s est parfait pour Edge
K3s est une distribution Kubernetes hautement disponible et certifiée conçue pour les charges de travail de production sans surveillance,
des emplacements distants aux ressources limitées ou à l'intérieur d'appareils IoT.
K3s est simplifié et sécurisé
K3s est conditionné sous la forme d'un seul binaire <50 Mo qui réduit les dépendances et les étapes nécessaires à l'installation,
exécuter et mettre à jour automatiquement un cluster Kubernetes de production
K3s est optimisé pour ARM
ARM64 et ARMv7 sont pris en charge avec des fichiers binaires et des images multiarch disponibles pour les deux.
K3s fonctionne très bien de quelque chose d'aussi petit qu'un Raspberry Pi à un serveur AWS a1.4xlarge 32GiB.
K3s est setup directement avec kubectl pour pourvoir gérer facilement les clusters.
cluster :
Vagrant :
Vagrant est un outil permettant de créer et de gérer des environnements de machines virtuelles dans un seul flux de travail.
Avec un flux de travail facile à utiliser et une concentration sur l'automatisation, Vagrant réduit le temps de configuration de l'environnement de développement,
augmente la parité de production et fait de l'excuse "fonctionne sur ma machine" une relique du passé.
K3d :
K3d est un petit programme (wrapper de k3s) fait pour lancer un cluster k3s dans docker. K3d nous permet de mettre en place tout ce qu'on fera avec vagrant, sans utiliser vagrant
K3d sera plutôt utilisé dans la 3ème partie avec ArgoCD
Continuous integration & ArgoCD :
L'intégration continue est un ensemble de pratiques utilisées en génie logiciel
consistant à vérifier à chaque modification de code source que le résultat des modifications
ne produit pas de régression dans l'application développée.
Argo CD est un contrôleur Kubernetes, chargé de surveiller en permanence toutes les applications en cours d'exécution et
de comparer leur état en direct à l'état souhaité spécifié dans le référentiel Git.
Il identifie les applications déployées avec un état en direct qui s'écarte de l'état souhaité comme OutOfSync.
> kubectl get nodes # Show nodes
NAME STATUS ROLES AGE VERSION
mabouces Ready control-plane,master 2d1h v1.24.3+k3s1
> vboxmanage --version # Get vbox version
> VBoxManage list vms # List vm
"vm_name" {vm-uuid}
> vboxmanage startvm <name or UUID> # start a vm
> VBoxManage controlvm <vm> savestate # Stop vm
> VBoxManage unregistervm vm-name -delete # Delete vm
> VBoxManage createvm --name "testing" --ostype "Debian_64" --register --basefolder `pwd` # Create a machine with VBoxManage
> VBoxManage modifyvm mabouce_debian_11_bullseye64 --nested-hw-virt on # Allow for nested VM
> service --status-all # Check all service status
> sudo service virtualbox restart # restart vbox
- k3s documentations
- ubuntu iso
- centos8 iso
- k3d resources
- Vagrant
- use K3s and its Ingress
- kubernetees resources
- Install Kubernetes Cluster on Ubuntu using K3s
- Malo Boucé
- Julien Cammas
- Mathieu Ginisty
