|
|
% Created 2024-05-29 mer. 13:56
|
|
|
% 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[a4paper,margin=0.5in]{geometry}
|
|
|
\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}
|
|
|
\usepackage[tikz]{bclogo}
|
|
|
\usepackage{tcolorbox}
|
|
|
\tcbuselibrary{skins}
|
|
|
\usepackage{ragged2e}
|
|
|
\usepackage{environ}
|
|
|
\date{}
|
|
|
\title{TP1 - Cours de virtualisation avancée - \emph{Kubernetes}, introduction}
|
|
|
\hypersetup{
|
|
|
pdfauthor={Evrard Van Espen},
|
|
|
pdftitle={TP1 - Cours de virtualisation avancée - \emph{Kubernetes}, introduction},
|
|
|
pdfkeywords={},
|
|
|
pdfsubject={},
|
|
|
pdfcreator={Emacs 30.0.50 (Org mode 9.6.15)},
|
|
|
pdflang={English}}
|
|
|
\begin{document}
|
|
|
|
|
|
\maketitle
|
|
|
\NewEnviron{warning}%
|
|
|
{\begin{center}%
|
|
|
\begin{tcolorbox}[notitle,
|
|
|
colback=orange!5!white,
|
|
|
colbacklower=white,
|
|
|
frame hidden,
|
|
|
boxrule=0pt,
|
|
|
bicolor,
|
|
|
sharp corners,
|
|
|
borderline west={4pt}{0pt}{orange!50!black},
|
|
|
fontupper=\sffamily]
|
|
|
\textcolor{orange!50!black}{
|
|
|
\sffamily
|
|
|
\textbf{Attention:\\}%
|
|
|
}%
|
|
|
\BODY
|
|
|
\end{tcolorbox}
|
|
|
\end{center}%
|
|
|
}
|
|
|
|
|
|
\NewEnviron{good}%
|
|
|
{\begin{center}%
|
|
|
\begin{tcolorbox}[notitle,
|
|
|
colback=green!5!white,
|
|
|
colbacklower=white,
|
|
|
frame hidden,
|
|
|
boxrule=0pt,
|
|
|
bicolor,
|
|
|
sharp corners,
|
|
|
borderline west={4pt}{0pt}{green!50!black},
|
|
|
fontupper=\sffamily]
|
|
|
\textcolor{green!50!black}{
|
|
|
\sffamily
|
|
|
}%
|
|
|
\BODY
|
|
|
\end{tcolorbox}
|
|
|
\end{center}%
|
|
|
}
|
|
|
|
|
|
\begin{warning}
|
|
|
Comme pour le TP de la semaine dernière, vous allez travailler dans une machine virtuelle VDN.
|
|
|
|
|
|
\medskip
|
|
|
|
|
|
N'oubliez pas de lancer \\[0pt]
|
|
|
\texttt{export no\_proxy="127.0.0.1,.vdn,localhost,192.168.49.1/24,10.96.0.0/12"} \\[0pt]
|
|
|
à chaque connexion \texttt{ssh} !
|
|
|
|
|
|
\medskip
|
|
|
|
|
|
Pour lancer \emph{Minikube}, lancez la commande \texttt{./minikube start} (attention vous aviez probablement laissé les binaires \texttt{minikube} et \texttt{kubectl} dans le dossier du TP2).
|
|
|
|
|
|
\medskip
|
|
|
|
|
|
N'oubliez pas aussi de laisser un autre terminal tourner avec la commande \texttt{minikube tunnel} ;)
|
|
|
\end{warning}
|
|
|
|
|
|
L'objectif de ce TP est de mettre en place une architecture plus compliquée que la semaine dernière.
|
|
|
Cette architecture mettra en place les éléments vus la semaine dernière ainsi que les éléments vus cette semaine:
|
|
|
\begin{itemize}
|
|
|
\item \emph{Deployment}
|
|
|
\item \emph{Service}
|
|
|
\item \emph{ConfigMap}
|
|
|
\item \emph{PersistentVolume}
|
|
|
\item \emph{PersistentVolumeClaim}
|
|
|
\end{itemize}
|
|
|
|
|
|
Utilisations des ressources:
|
|
|
\begin{itemize}
|
|
|
\item Les variables d’environnement des conteneurs doivent être stockées dans une \emph{ConfigMap}
|
|
|
\item La base de données doit utiliser un volume pour sauvegarder ses fichiers
|
|
|
\end{itemize}
|
|
|
|
|
|
\begin{center}
|
|
|
\includegraphics[width=4cm]{./archi.png}
|
|
|
\end{center}
|
|
|
|
|
|
\section{Images à utiliser}
|
|
|
\label{sec:org3708865}
|
|
|
\begin{itemize}
|
|
|
\item \texttt{evanespen/database} -> \url{https://hub.docker.com/r/evanespen/database}
|
|
|
\item \texttt{evanespen/application} -> \url{https://hub.docker.com/r/evanespen/application}
|
|
|
\end{itemize}
|
|
|
|
|
|
\begin{warning}
|
|
|
Lisez bien les description des images !
|
|
|
\end{warning}
|
|
|
|
|
|
\section{Notes}
|
|
|
\label{sec:org45f73a5}
|
|
|
Pour faire communiquer deux \emph{Pods} via un service, vous pouvez utiliser le nom du service en tant que nom de domaine.
|
|
|
Par exemple, si j'ai un service "backend-svc" qui expose en HTTP sur le port 8080, je peux y accéder depuis les \emph{Pods} via l'URL \texttt{http://backend-svc:8080}.
|
|
|
|
|
|
\section{Aide}
|
|
|
\label{sec:org0861eb5}
|
|
|
Référez vous au cours et à ces documentations pour y parvenir (ce sont bien des liens):
|
|
|
\begin{itemize}
|
|
|
\item \href{https://kubernetes.io/fr/docs/concepts/services-networking/service/}{\emph{Service}}
|
|
|
\item \href{https://kubernetes.io/docs/concepts/workloads/pods/}{\emph{Pod}}
|
|
|
\item \href{https://kubernetes.io/docs/concepts/workloads/controllers/deployment/}{\emph{Deployment}}
|
|
|
\item \href{https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/}{\emph{PV} et \emph{PVC}}
|
|
|
\end{itemize}
|
|
|
|
|
|
Amusez vous bien ;)
|
|
|
\end{document}
|