From 4fe5c78d9b953175ea29c62e2bdd2fa9131cad44 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Tue, 26 Nov 2019 16:00:39 +0100 Subject: [PATCH] Start working on tuto 5 --- tutorial/k8s/Makefile | 12 ++ tutorial/k8s/discover.md | 311 +++++++++++++++++++++++++++ tutorial/k8s/dockercoins-diagram.svg | 2 + tutorial/k8s/intro.md | 87 ++++++++ tutorial/k8s/k8s-archi.png | Bin 0 -> 139117 bytes tutorial/k8s/overview.md | 143 ++++++++++++ tutorial/k8s/rendu.md | 36 ++++ tutorial/k8s/run.md | 107 +++++++++ tutorial/k8s/setup.md | 146 +++++++++++++ tutorial/k8s/tutorial.md | 24 +++ 10 files changed, 868 insertions(+) create mode 100644 tutorial/k8s/Makefile create mode 100644 tutorial/k8s/discover.md create mode 100644 tutorial/k8s/dockercoins-diagram.svg create mode 100644 tutorial/k8s/intro.md create mode 100644 tutorial/k8s/k8s-archi.png create mode 100644 tutorial/k8s/overview.md create mode 100644 tutorial/k8s/rendu.md create mode 100644 tutorial/k8s/run.md create mode 100644 tutorial/k8s/setup.md create mode 100644 tutorial/k8s/tutorial.md diff --git a/tutorial/k8s/Makefile b/tutorial/k8s/Makefile new file mode 100644 index 0000000..2ac0da8 --- /dev/null +++ b/tutorial/k8s/Makefile @@ -0,0 +1,12 @@ +include ../pandoc-opts.mk + +SOURCES_TUTO = tutorial.md setup.md intro.md overview.md discover.md run.md rendu.md + + +all: tutorial.pdf + +tutorial.pdf: ${SOURCES_TUTO} + pandoc ${PANDOCOPTS} -o $@ $+ + +clean:: + rm tutorial.pdf diff --git a/tutorial/k8s/discover.md b/tutorial/k8s/discover.md new file mode 100644 index 0000000..49adb3d --- /dev/null +++ b/tutorial/k8s/discover.md @@ -0,0 +1,311 @@ +\newpage + +Découverte de `kubectl` +======================= + +`kubectl` +([prononcé](https://www.reddit.com/r/kubernetes/comments/5qthoc/how_should_i_pronounce_kubectl/) +'cube C T L', 'cube cuttle', 'kyoob cuddle', 'cube control', ...) est le principal +programme que l'on utilise pour interagir avec notre cluster. + +Étant donné qu'il s'agit d'un programme client, qui ne fait rien de plus que +discuter avec une API REST HTTP, on peut le considérer comme un gros wrapper au +dessus de `curl`. + +Obtenir de l'aide +----------------- + +```bash +kubectl describe type/name +kubectl describe type name +kubectl explain type +``` + + +`get` +----- + +```bash +kubectl get node +``` + +Plus d'infos : + +```bash +kubectl get nodes -o wide +``` + +Lisible par une machine : + +```bash +kubectl get no -o yaml +kubectl get no -o json +``` + +On aimera utiliser `jq(1)` avec la sortie `-o json` : + +```bash +kubectl get no -o json | \ + jq ".items[] | {name:.metadata.name} + .status.capacity" +``` + +### Services + +```bash +kubectl get services +kubectl get svc +``` + +Pour le moment, nous n'avons qu'un seul service, il s'agit de l'API Kubernetes. + +`ClusterIP` désigne l'IP d'un service accessible en interne, pour le cluster. + + +### Conteneurs actifs + +Jetons un œil aux conteneurs actifs : + +```bash +kubectl get pods +``` + +Regardons maintenant les `namespaces` : + +```bash +kubectl get namespaces +``` + +On l'a vu, les *namespaces* ici désignent des espaces de noms qui n'ont rien à +voir avec les *namespaces* de Linux. Regardons par exemple les conteneurs d'un +autre espace de noms : + +```bash +kubectl -n kube-system get pods +``` + +Eh oui ! De nombreux services de base pour Kubernetes tournent dans des +conteneurs, géré par lui-même... notamment : + +- `etcd` : notre base de données clef/valeur, +- `kube-apiserver` : l'API REST avec qui communique `kubectl`, +- `kube-controller-manager` et `kube-scheduler`, deux autres composants + indispensables, +- `coredns` : un composant additionnel pour gérer la résolution de noms interne + (pour pas avoir à s'embêter avec les IP), +- `kube-proxy` : 1 par nœud, pour gérer l'ouverture des ports notamment, +- `kindnet`, `weave` : 1 par nœud, le plugin réseau. + + +Mon premier conteneur +--------------------- + +Prêt à lancer notre premier conteneur ?! + +Pas si vite ! En fait ... Kubernetes ne permet pas de lancer de conteneur... +Nous devons lancer un *pod*, qui ne contiendra qu'un seul conteneur. + +### Mon premier pod + +```bash +kubectl run pingpong --image alpine ping 1.1.1.1 +``` + +Outre un avertissement, `kubectl` doit indiquer qu'une tâche de déploiement a +été créée. + +Si l'on affiche la liste des pods, vous devriez avoir quelque chose qui +ressemble à cela : + +``` +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +pingpong-7d49d9bc9-k8fpg 1/1 Running 0 123s +``` + +#### Déploiement³ + +Si l'on affiche davantage d'informations, on obtient : + +``` +$ kubectl get all +NAME READY STATUS RESTARTS AGE +pod/pingpong-7d49d9bc9-k8fpg 1/1 Running 0 123s + +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +service/kubernetes ClusterIP 10.96.0.1 443/TCP 2m3s + +NAME READY UP-TO-DATE AVAILABLE AGE +deployment.apps/pingpong 1/1 1 1 123s + +NAME DESIRED CURRENT READY AGE +replicaset.apps/pingpong-7d49d9bc9 1 1 1 123s +``` + +Les tâches de déploiements (*deployment.apps*) sont des ressources de +haut-niveau et sont là pour assurer que les migrations se font en douceur : +elles vont permettre de basculer progressivement les pods d'une version X à une +version Y (par exemple si l'on change notre ping d'alpine vers debian), mais +éventuellement de revenir sur la version X si besoin, en cours de migration. +Elles délèguent aux *replicatsets* la gestion des pods. + +Le *replicatset* est là pour indiquer le nombre de pods que l'on désire, et +s'assure que le nombre de pods actuellement lancé est bien en adéquation avec +le nombre de pods attendus. + + +Pour résumer : `kubectl run` a créé une tâche de déploiement +`deploy/pingpong`. Cette tâche de déploiement a créé elle-même un *replicatset* +`rs/pingpong-xxxx`. Ce *replicatset* a créé un *pod* `po/pingpong-yyyy`. + + +#### Sortie d'un conteneur + +Bref ... allons maintenant regarder si nous recevons bien nos PONG. + +Pour cela, nous allons utiliser la commande `kubectl logs`. Cette commande +s'utilise d'une manière similaire à `docker logs` : + +```bash +kubectl logs deploy/pingpong +``` + +Cette ligne est la plus simple, et nous affichera la sortie du premier pod de +la tâche de déploiement. + +Pour afficher un pod en particulier, il faut indiquer son nom en entier, en +remplaçant `yyyy` par son identifiant : + +```bash +kubectl logs -f pingpong-yyyy +``` + +Notez ici l'option -f qui permet de suivre les logs en direct. + + +#### Mise à l'échelle : facile ? + +Bien ... maintenant que nous savons nous débrouiller avec `kubectl`, attaquons +les choses sérieuses. + +Pour lancer 8 ping en parallèle, modifions la tâche de déploiement comme suit : + +```bash +kubectl scale deploy/pingpong --replicas 8 +``` + +À ce stade, comme nous ne modifions que le nombre de replicats, Kubernetes va +tout simplement propager ce nombre au *replicatset* existant. Puis, le +*replicatset* voyant un décalage entre le nombre de pods attendus et le nombre +de pods en cours d'exécution, il va en lancer de nouveaux, afin de répondre à +la demande. + +Et que se passe-t-il alors, si l'on tue un pod ? + +```bash +kubectl delete pod pingpong-yyyy +``` + + +#### Autres usages de `run` + +Si l'on veut des tâche qui ne redémarrent pas systématiquement, on peut +utiliser : `kubectl run --restart=OnFailure` ou `kubectl run --restart=Never`, +... au lieu de créer des tâches de déploiement, cela va créer des *jobs* ou des +*pods*. On peut même créer l'équivalent de tâches cron avec : `kubectl run +--schedule=...`. + +Comme nous venons de le voir, actuellement `kubectl run` sert un peu à tout et +n'importe quoi, la ressource créée n'est pas évidente, c'est pour cela que +l'avertissement nous recommande d'utiliser `kubectl create` : + +- `kubectl create deployment` pour créer une tâche de déploiement, +- `kubectl create job` pour créer un *job*. + +Dans le futur, `kubectl run` servira à lancer un *pod* à usage unique, sans +tâche de déploiement ni réplicat. + + +En fait, `kubectl run` génère une nouvelle spécification, qu'il envoie à l'API +de Kubernetes. On peut voir le fichier généré avec la ligne de commande +suivante : + +```bash +kubectl run --dry-run -o yaml pingpong --image alpine ping 1.1.1.1 +``` + +Le fichier YAML récupéré peut s'utiliser comme suit : + +```bash +kubectl apply -f my-specs.yml +``` + + +#### Arrêter de flooder 1.1.1.1 + +Ok, on s'est bien amusé à ping Cloudflare, pour ne pas être trop méchants, nous +pouvons maintenant arrêter nos pods. + +Comme nous l'avons vu juste avant, il ne s'agit pas de tuer chacun des pods un +par un, car de nouveaux seraient créés par le *replicatset*. Si l'on supprime +le *replicatset*, la tâche de déploiement en rećréera un similaire. + +Pour arrêter nos conteneurs, il convient donc de supprimer la tâche de +déploiement : + +```bash +kubectl delete deploy/pingpong +``` + + +### Exposer son conteneur + +Exposer un conteneur revient à créer un nouveau service (une *resource* +service). Un service est une adresse IP que l'on peut considérer comme stable +pour un *pod* ou un groupe de *pods*. + +Il est nécessaire de créer un service si l'on veut pouvoir se connecter à un +*pod*. + +Une fois le service créé, le serveur DNS interne va permettre de résoudre le +nom du *pod* depuis les autres conteneurs. + + +#### Types de services + +Il y a différents types de services : + +- `ClusterIP` (par défaut) : une adresse IP virtuelle est allouée pour le + service, elle n'est accessible que depuis le réseau interne (par les pods et + les nœuds). Il n'y a pas de translation de port a effectuer. +- `NodePort` : un port est alloué pour le service, sur tous les nœuds le + cluster, et n'importe qui peut alors s'y connecter. Le port est choisi + aléatoirement. +- `LoadBalancer` : lorsque l'infrastructure sous-jacente fourni un + load-balancer (typiquement AWS, GCE, Azure, ...), un service `NodePort` est + créé pour utiiser ce load-balancer externe. +- `ExternalName` : une entrée DNS est créée pour avoir un alias. + + +#### Le retour de `youp0m` + +```bash +kubectl create deployment youp0m --image=nemunaire/youp0m +``` + +Commençons par créer un service `ClusterIP` : + +```bash +kubectl expose deployment youp0m --port 8080 +``` + +Ce qui donne : + +``` +$ kubectl get service +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +youp0m ClusterIP 10.102.129.233 8080/TCP 42s +``` + +Depuis un nœud du cluster, on peut donc venir interroger cette IP. Si l'on +essaie avec plusieurs nœuds, on voit alors que les requêtes sont balancées sur +différents nœuds. diff --git a/tutorial/k8s/dockercoins-diagram.svg b/tutorial/k8s/dockercoins-diagram.svg new file mode 100644 index 0000000..ac05fe9 --- /dev/null +++ b/tutorial/k8s/dockercoins-diagram.svg @@ -0,0 +1,2 @@ + +
worker
worker
rng
rng
hasher
hasher
redis
redis
webui
webui
GET
GET
POST
POST
TCP
TCP
TCP
TCP
user
user
GET
GET
DockerCoins application
(five containers)
DockerCoins application<br>(five containers)<br>
\ No newline at end of file diff --git a/tutorial/k8s/intro.md b/tutorial/k8s/intro.md new file mode 100644 index 0000000..2281d16 --- /dev/null +++ b/tutorial/k8s/intro.md @@ -0,0 +1,87 @@ +\newpage + +Introduction +============ + +Notre application du jour +------------------------- + +Aujourd'hui, nous allons travailler avec un mineur de pépites ... de chocolat ! +De véritables cookies sont à gagner pour celles et ceux qui auront amassés le +plus de pépites avant la pause ! + +![ChocoMiner](dockercoins-diagram.svg) + +Fier de respecter le paradigme des micro-services, notre ChocoMiner fonctionne +ainsi : + +* le `worker` demande à `rng` de générer un grand nombre aléatoire, +* le `worker` envoie ce grand nombre au `hasher`, qui lui retourne un hash, +* si le condensat respecte les contraintes pour obtenir une pépite, on est content, +* et on recommence, ainsi de suite, pour avoir le maximum de pépites. + +Chaque seconde, le `worker` envoie à `influxdb` le nombre de hashs et de +pépites qu'il a ainsi pu obtenir. + +Une interface graphique (`chronograf`) permet d'interroger la base de données +pour afficher des statistiques. + + +Obtenir l'application +--------------------- + +
+```shell +git clone git://git.nemunai.re/chocominer.git +``` +
+ + +Rappels sur la découverte de services +------------------------------------- + +Dans Docker, nous avions vu que nous n'avions pas besoin de connaître les IP +des conteneurs : un serveur DNS nous permettait de se connecter aux différents +services à partir de leurs noms. + +Dans Kubernetes, le même principe s'applique : dans aucun cas, nous ne devrions +coder en dur des adresses IP. Il convient d'utiliser au maximum le système de +DNS, car les IP sont susceptibles de changer ! + + +Tester avec `docker-compose` +---------------------------- + +`docker-compose up` + +Se connecter à chronograf sur le port qui va bien + + +Monté en puissance +------------------ + +`docker-compose up -d --scale worker=2` + +Ok :-) + +`docker-compose up -d --scale worker=10` + +Argh :-( + + +Identification du goulot d'étranglement +--------------------------------------- + +De nombreux outils existent pour réaliser des tests de performance, essayons +`httping` sur nos différents services pour voir si un service ne serait pas +la cause des ralentissements. + +`rng` +: `httping -c 3 localhost:8001` + +`hasher` +: `httping -c 3 localhost:8002` + +Il semblerait que notre application `rng` nécessite d'être exécuté en parallèle +! Mais on ne peut pas faire de répartition de charge facilement avec +`docker-compose` ! diff --git a/tutorial/k8s/k8s-archi.png b/tutorial/k8s/k8s-archi.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb3847e76fd6f7a3e516d7d060b83f71872f89f GIT binary patch literal 139117 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°4#xP_6?i7r_07BPz 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

58cCe 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. C'est donc à cette adresse +et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu +envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne +sera pas pris en compte. + +Par ailleurs, n'oubliez pas de répondre à +[l'évaluation du cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=309). + + +Tarball +------- + +Tous les exercices de ce TP sont à placer dans une tarball (pas d'archive ZIP, +RAR, ...). + +Voici une arborescence type : + +

+``` +login_x-TP5/cmpns.sh +login_x-TP5/mydocker_exec.sh +login_x-TP5/myswitch_root.sh +``` +
diff --git a/tutorial/k8s/run.md b/tutorial/k8s/run.md new file mode 100644 index 0000000..5aa825f --- /dev/null +++ b/tutorial/k8s/run.md @@ -0,0 +1,107 @@ +\newpage + +Cookies dans Kube +================= + +Maintenant que nous en savons un peu plus sur Kubernetes, nous allons commencer +à déployer notre application ChochMiner dans notre cluster. Pour cela, nous +allons devoir : + +- construire les images de notre application ; +- publier ces images dans un registre ; +- lancer des déploiements de ces images ; +- exposer avec un ClusterIP les services qui ont besoin de communiquer + entre-eux ; +- exposer avec un NodePort l'interface graphique de contrôle. + + +Rappels sur les registres +------------------------- + +Pour rappel, lorsque l'on exécute un `docker run alpine`, Docker va étendre le +nom de l'image en `library/alpine` puis `index.docker.io/library/alpine`. Pour +interroger `index.docker.io` au sujet d'une image `library/alpine:latest`. + +Si l'on souhaite utiliser un autre registre que le Docker Hub, il faut alors +préciser le domaine à utiliser : `registry.mycompany.io:5000/myimage:awesome`, +... + + +Sur la route du registre auto-hébergé +------------------------------------- + +Profitons d'avoir notre cluster Kubernetes pour y installer un registre Docker +! + +Nous allons déployer l'image officielle de registre Docker : `registry` et +faire en sorte que celle-ci stocke les couches des images en local. + +La subtilité à ne pas oublier, est que Docker nécessite d'avoir une connexion +chiffrée avec ses registres, à moins qu'il ne soit lancé avec le flag +`--insecure-registry`, ou que le registre soit sur `127.0.0.0/8`. + +L'idée sera donc de publier notre registre via un `NodePort`, afin qu'il soit +disponible sur un port `127.0.0.1:xxxxx` de chaque nœud : + +```bash +kubectl create deployment registry --image=registry +kubectl expose deploy/registry --port=5000 --type=NodePort +``` + +Pour tester, vous pouvez : + +```bash +NODEPORT=$(kubectl get svc/registry -o json | jq .spec.ports[0].nodePort) +REGISTRY=127.0.0.1:$NODEPORT +curl $REGISTRY/v2/_catalog +``` + +```bash +docker pull busybox +docker tag busybox $REGISTRY/busybox +docker push $REGISTRY/busybox +``` + + +Utiliser les images du Docker Hub +--------------------------------- + +Si vous n'avez pas réussi à déployer votre propre registre (ou si on n'est pas +en avance pour avoir le temps de regarder ça !), utilisez les images mises à +disposition sur le Docker Hub : + +- `nemunaire/worker:v0.1` +- `nemunaire/rng:v0.1` +- etc. + + +Lançons les images standards +---------------------------- + +#### `influxdb` et `chronograf` + +```bash +kubectl create deployment influxdb --image=influxdb +kubectl create deployment chronograf --image=chronograf +``` + +#### Notre application + +```bash +TAG=v0.1 +for SERVICE in hasher rng worker; do + kubectl create deployment $SERVICE --image=nemunaire/$SERVICE:$TAG +done +``` + +#### Exposer les ports + +```bash +kubectl expose deployment influxdb --port 8088 +kubectl expose deployment rng --port 80 +kubectl expose deployment hasher --port 80 +``` + +```bash +kubectl create service nodeport chronograf --tcp=8888 --node-port=30001 +``` diff --git a/tutorial/k8s/setup.md b/tutorial/k8s/setup.md new file mode 100644 index 0000000..c29551a --- /dev/null +++ b/tutorial/k8s/setup.md @@ -0,0 +1,146 @@ +\newpage + +Mise en place +============= + +La mise en place d'un cluster Kubernetes est une opération très longue, car +elle nécessite l'installation et la configuration de nombreux composants. +Cette opération n'étant pas très palpitante, nous ne la verrons pas +aujourd'hui. + +Pour jouer aujourd'hui, deux solutions s'offrent à nous : + +Kubernetes in Docker (kind) +--------------------------- + +`kind` est un projet permettant de lancer un cluster kubernetes directement via +Docker. + +Pour commencer, il nous faudra télécharger le binaire (go, donc statique) +suivant : + +
+```bash +curl -Lo kind https://github.com/kubernetes-sigs/kind/releases/download/v0.6.0/kind-$(uname)-amd64 +chmod +x kind +``` +
+ +Placez-le dans un endroit où il sera accessible de votre `$PATH`. + +Notre prochaine étape est de décrire le cluster que l'on souhaite avoir : 1 +master et 2 workers. Avant de lancer leur création. + +
+```bash +cat > my-cluster.yml < + +La création du cluster peut prendre quelques minutes. + +Profitons-en pour télécharger `kubectl` : + +
+```bash +curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.3/bin/linux/amd64/kubectl +chmod +x kubectl +``` +
+ +C'est via cette commande que nous interagirons principalement avec l'API de +Kubernetes. + +Une fois que tout sera opérationnel, nous devrions obtenir : + +
+``` +42sh$ kubectl version +Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"archive", BuildDate:"2019-11-26T02:51:51Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} +Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-16T01:01:59Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"} +``` +
+ + +Play With Kubernetes +-------------------- + +De la même manière que pour les TP utilisant Docker, si vous avez des +difficultés pour réaliser les exercices sur vos machines, vous pouvez utiliser +le projet [Play With K8s](https://play-with-k8s.com/) qui vous donnera accès à +un bac à sable avec lequel vous pourrez réaliser tous les exercices de ce TP. + +Il nous faut créer plusieurs instances, disons 3 : parmi elles, 1 instance sera +la master, nous l'utiliserons principalement, les deux autres ne feront +qu'exécuter des conteneurs, nous pourrons les oublier dès qu'on les aura +connectées au master. + +Pour initialiser notre cluster Kubernetes, nous allons devoir créer notre +master. Pour cela, dans notre première instance, nous allons taper : + +
+```bash +kubeadm init --apiserver-advertise-address $(hostname -i) +``` +
+ +Cette action peut prendre quelques minutes, et devrait se finir, si tout se +passe bien, par : + +
+``` +Your Kubernetes master has initialized successfully! + +To start using your cluster, you need to run (as a regular user): + + mkdir -p $HOME/.kube + sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config + sudo chown $(id -u):$(id -g) $HOME/.kube/config + +You should now deploy a pod network to the cluster. +Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: + http://kubernetes.io/docs/admin/addons/ + +You can now join any number of machines by running the following on each node + as root: + +kubeadm join --token SOMETOKEN SOMEIPADDRESS --discovery-token-ca-cert-hash SOMESHAHASH +``` +
+ +Recopions ensuite la commande `kubeadm join ...` donnée dans le terminal, dans +nos deux autres instances. Cela permettra aux machines de se connecter au +master. + +Dernière étape pour la mise en place de notre cluster, il s'agit de définir un +profil de politique réseau, sur le master (nous n'exécuterons plus de commande +sur les autres workers) : + +
+```bash +kubectl apply -n kube-system -f \ + "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 |tr -d '\n')" +``` +
+ + +Minikube, Docker for Mac/Windows, MicroK8s, ... +----------------------------------------------- + +Si les solutions précédentes ne sont pas adaptés à votre usage, de nombreuses +autres applications permettent de mettre en place un cluster plus ou moins +complet, facilement. + +Vous pouvez tenter d'utiliser +[minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/), +[microk8s](https://microk8s.io/), ... Notez également que *Docker for Mac* et +*Docker for Windows* intègrent également Kubernetes depuis quelques versions ; +il convient de l'activer dans les préférences de l'application. diff --git a/tutorial/k8s/tutorial.md b/tutorial/k8s/tutorial.md new file mode 100644 index 0000000..502bddc --- /dev/null +++ b/tutorial/k8s/tutorial.md @@ -0,0 +1,24 @@ +--- +title: Virtualisation légère -- TP n^o^ 5 +subtitle: Kubernetes +author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps} +institute: EPITA +date: Mercredi 27 novembre 2019 +abstract: | + Le but de ce dernier TP est d'appréhender Kubernetes et l'orchestration de + conteneurs. + + \vspace{1em} + + Les exercices de ce TP peuvent être rendus à au + plus tard le mercredi 11 décembre 2019 à 23 h 42, des questions de + cours sont également à compléter avant cette date sur + Epitaf. Consultez la dernière partie de ce TP pour les modalités. + + En tant que personnes sensibilisées à la sécurité des échanges + électroniques, vous devrez m'envoyer vos rendus signés avec votre + clef PGP. Pensez à + [me](https://keys.openpgp.org/search?q=nemunaire%40nemunai.re) + faire signer votre clef et n'hésitez pas à [faire signer la + votre](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/). +...