Skip to content

Sithi5/Inception-of-Things

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt Text

Introduction

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.

Objectives

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 globale et explication

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.

Usefull commands

Kubectl

> kubectl get nodes # Show nodes
NAME       STATUS   ROLES                  AGE    VERSION
mabouces   Ready    control-plane,master   2d1h   v1.24.3+k3s1

Virtualbox

> 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

Resources

Authors

  • Malo Boucé
  • Julien Cammas
  • Mathieu Ginisty

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages