% Created 2024-05-08 mer. 11:48
% Intended LaTeX compiler: pdflatex
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage{minted}
\usepackage[utf8]{inputenc}
\usepackage[inkscapelatex=false]{svg}
\usepackage[sfdefault]{AlegreyaSans}
\usepackage{multicol}
\usepackage{minted}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{positioning}
\renewcommand\listingscaption{Exemple de code}
\date{}
\title{Cours de virtualisation avancée: \emph{Proxmox}}
\hypersetup{
 pdfauthor={Evrard Van Espen},
 pdftitle={Cours de virtualisation avancée: \emph{Proxmox}},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 30.0.50 (Org mode 9.6.15)}, 
 pdflang={English}}
\begin{document}

\maketitle


\section{Proxmox}
\label{sec:orgc9ec9cc}
\begin{center}
\includegraphics[width=0.8\textwidth]{./images/proxmox.png}
\end{center}

\subsection{Un hyperviseur "\emph{bare metal}"}
\label{sec:org82707fe}
\begin{itemize}
\item S’exécute directement sur le \emph{hardware}
\item Optimisé pour l'exécution de machines virtuelles
\item \textbf{Pas comme \emph{Virtual Box}}
\end{itemize}

\section{\emph{Proxmox}}
\label{sec:org64b986f}
\begin{itemize}
\item Libre
\item Basé sur \emph{Debian}
\item \emph{KVM} (machines virtuelles) et \emph{LXC} (conteneurs)
\item Gestion via \textbf{terminal} ou \textbf{interface web}
\item Orchestration, réplication, \emph{cluster}
\item Concurrent à \emph{Hyper-V} ou \emph{ESXi}
\item Gestion des sauvegardes
\end{itemize}

\subsection{Orchestration et mode \emph{cluster}}
\label{sec:orgd0edd32}
\begin{itemize}
\item Gestion des réplications
\item Gestion de la perte de machines
\item Gestion des sauvegardes
\end{itemize}

\subsection{Machines virtuelles et conteneurs}
\label{sec:org5a598be}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_ct.png}
\end{center}

\subsubsection{Machine virtuelle}
\label{sec:orgbeb0e4a}
\begin{itemize}
\item Aussi appelé \emph{VM}
\item Embarque un système d'exploitation complet
\item ➕ Isolation forte
\item ➖ Lourd et nécessite plus de puissance
\end{itemize}

Les machines virtuelles sont souvent installées depuis un \emph{ISO}, comme il serait fait pour une machine physique.

\subsubsection{Conteneur}
\label{sec:orgf9d4a68}
\begin{itemize}
\item Aussi appelé \emph{CT}
\item Embarque uniquement les fichiers nécessaires
\item ➕ Plus léger
\item ➖ Isolation plus faible
\end{itemize}

Les conteneurs sont installés depuis des \emph{"Templates"} qui possèdent des options de configuration.
Les \emph{"Templates"} sont des archives contenant un système de fichier.

\section{Note sur les \emph{network bridges}}
\label{sec:org9282cd0}
\begin{itemize}
\item Pont entre deux réseaux
\item Comme un "\emph{switch} virtuel"
\item Nécessaire pour permettre aux \emph{VM} et \emph{CT} l'accès au réseau
\end{itemize}

\section{Éléments de configuration}
\label{sec:org118ec7b}
\subsection{Système}
\label{sec:orgff9a5be}
\begin{itemize}
\item Interfaces réseau virtuelles
\item Pare-feu basique
\item Gestion fine des permissions
\end{itemize}

\subsection{Machines virtuelles et conteneurs}
\label{sec:org4f45eff}
\begin{itemize}
\item \emph{CPU} et mémoire vive
\item Taille du (des) disque(s)
\item Interfaces réseau
\item Pare-feu basique
\end{itemize}

\section{L'interface}
\label{sec:org15b18c1}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/pve_1.png}
\end{center}

\begin{itemize}
\item \textbf{1}: Liste des ressources: machines, conteneurs, volumes de stockage
\item \textbf{2}: Configuration de l'instance / du \emph{cluster}
\item \textbf{3}: Statut de l'instance \emph{Proxmox}
\item \textbf{4}: Boutons pour créer les machines
\item \textbf{5}: Tâches en cours et historique
\end{itemize}

\subsection{Création d'une machine virtuelle (\emph{VM})}
\label{sec:org8253353}
\subsubsection{Onglet \emph{"General"}}
\label{sec:orgb76a60b}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_1.png}
\end{center}

\begin{itemize}
\item \emph{"Node"}: l'instance \emph{Proxmox} sur laquelle créer la \emph{VM}
\item \emph{"VM ID"}: l'identifiant de la \emph{VM}
\item \emph{"Name"}: le nom pour la \emph{VM}
\item \emph{"Resource pool"}: la \emph{pool} de ressources à utiliser
\end{itemize}

\subsubsection{Onglet \emph{"OS"}}
\label{sec:orga6286a1}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_2.png}
\end{center}

\begin{itemize}
\item \emph{"Storage"}: l'espace de stockage où est stocké l'\emph{ISO}
\item \emph{"ISO image"}: l'image \emph{ISO} à utiliser
\end{itemize}

\subsubsection{Onglet \emph{"Disks"}}
\label{sec:orgef80c8b}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_3.png}
\end{center}

\begin{itemize}
\item \emph{"Storage"}: l'espace de stockage dans lequel sera stocké la \emph{VM}
\item \emph{"Disk size"}: la taille du disque
\end{itemize}

\subsubsection{Onglet \emph{"CPU"}}
\label{sec:org0e6718a}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_4.png}
\end{center}

\begin{itemize}
\item \emph{"Sockets"}: le nombre de \emph{CPU} à virtualiser
\item \emph{"Cores"}: le nombre de cœurs par \emph{CPU}
\item \emph{"Total cores"}: récapitulatif du nombre de cœurs qu'aura la \emph{VM}
\end{itemize}

\subsubsection{Onglet \emph{"Memory"}}
\label{sec:org8a43ab2}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_5.png}
\end{center}

\begin{itemize}
\item \emph{"Memory"}: la taille de la mémoire vive
\end{itemize}

\subsubsection{Onglet \emph{"Network"}}
\label{sec:org228f120}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_6.png}
\end{center}

\begin{itemize}
\item \emph{"Bridge"}: le pont réseau à utiliser
\end{itemize}

\subsubsection{Onglet \emph{"Confirm"}}
\label{sec:orge8aa03d}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/vm_create_7.png}
\end{center}

Récapitule la configuration de la future machine virtuelle.

\subsection{Création d'un conteneur (\emph{CT})}
\label{sec:orge477d74}

Les onglets et options sont similaires à celles de la création d'une \emph{VM}, avec quelques options en plus.

\subsubsection{Onglet \emph{"General"}}
\label{sec:org3e15c4d}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/ct_create_1.png}
\end{center}

\begin{itemize}
\item \emph{"Password"} et \emph{"Confirm password"}: mot de passe de l'utilisateur par défaut (souvent \texttt{root})
\item \emph{"SSH public key"}: votre clef publique pour la connexion en \emph{SSH}
\end{itemize}

\subsubsection{Onglet \emph{"Template"}}
\label{sec:org4e06550}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/ct_create_2.png}
\end{center}

\begin{itemize}
\item \emph{"Template"}: la \emph{template} à utiliser
\end{itemize}

\subsubsection{Onglet \emph{"Network"}}
\label{sec:orge8f74d0}
\begin{center}
\includegraphics[width=.9\linewidth]{./images/ct_create_3.png}
\end{center}

\begin{itemize}
\item \emph{"IPv4/CIDR"}: l'adresse \emph{IP} qui sera assignée à l'interface réseau du conteneur
\item \emph{"Gateway"}: la passerelle réseau qui sera utilisée
\end{itemize}

\subsection{Notes à propos de la configuration}
\label{sec:org2a50315}
Vous pouvez modifier ces options à tout moment et les appliquer à la machine virtuelle ou au conteneur.


\section{Démonstration}
\label{sec:org1ba6cb6}
\url{./images/cat\_keyboard.webp}

\section{Pour aller plus loin}
\label{sec:orgecf2397}
\begin{itemize}
\item Documentation \emph{Proxmox}: \texttt{https://pve.proxmox.com/pve-docs/pve-admin-guide.html}
\item Un autre guide: \texttt{https://www.it-connect.fr/comment-installer-proxmox-ve-7-0-et-creer-sa-premiere-vm/}
\end{itemize}
\end{document}
