Soutenance intémerdiaire Projet Traefik · Les outils permettant de gérer le clustering sont...

Post on 15-Jun-2020

0 views 0 download

Transcript of Soutenance intémerdiaire Projet Traefik · Les outils permettant de gérer le clustering sont...

Soutenance intermédiaire

Projet Traefik

BOURAHLA Florian

LORENZINI Léo

VIGNAL Nicolas

SOMMAIRE

2

Plan de travail jusqu’à la soutenance finale

Kubernetes

Objectifs

Contexte

Tâches réalisées

CONTEXTE

3

Les infrastructures à base de microservices sont de plus en plus présentes aujourd’hui.

Problématiques

• Comment gérer une architecture à base de microservices ?

• Quels sont les outils permettant ceci ?

Réponse au contexte4

Qu’est-ce que une architecture à base de microservices ?

Méthode de développement d’application logicielle en utilisant des

services indépendants.

(Opposé à l’application monolithique)

Comment gérer une architecture à base de microservices ?

En mettant en place différents clusters qui fourniront chacun leurs

services.

Quels sont les outils permettant ceci ?

Les outils permettant de gérer le clustering sont Docker, ou

Kubernetes. Pour gérer la charge du serveur, il faut utiliser

le load-balancing(traefik).

Objectifs5

Kubernetes6

Kubernetes (ou k8s) c’est quoi ?

Projet démarré en 2014 issus de Google programmé en Go.

Orchestrateur de conteneur, complémentaire à Docker.

Clusterise donc plusieurs serveurs Docker.

Kubernetes est constitué de 2 parties :

Master : Serveur qui contrôle le cluster

Nœud(node): Serveur qui héberge les applications et qui reçoit les

instructions du master.

Kubernetes7

Kubernetes se compose donc de différents objets :

Pod: Objet le plus petit de Kubernetes. Contient un ou plusieurs

conteneurs Docker.

Deployment : fournir les mises à jour des pods et réplicas

Service : Exposition d’une application sur l’ensemble du réseau

Ingress : gère l’accès externe (généralement trafic HTTP)

Taches réalisées sur

Kubernetes (master)

Les tâches réalisées sur Kubernetes côté serveur :

Initialisation du master

Création de jetons

Installation Dashboard

Installation de Traefik

Installation de WordPress

8

Communication

nœud

9

Qu’est-ce que un nœud sur kubernetes ?

Nœud ou node en anglais, peut être une machine virtuelle ou physique.

Un ou plusieurs nœuds peuvent être gérés par un ou plusieurs masters

Un nœud contient des pods

Outils permettant les nœuds:

kubelet : Superviseur qui contrôle les nœuds

Container runtime: Service qui gère le téléchargement des images et de

l’exécution des conteneurs.

Kube-proxy: regroupe les nœuds à l’aide d’une IP virtuelle.

Taches réalisées sur

Kubernetes (nœud)

Les tâches réalisées sur kubernetes côté nœud :

Packet docker.io

Packet apt-transport-https pour utiliser le protocole https.

Édit du /etc/apt/sources.list (rajouter deb https://apt.kubernetes.io/kubernetes-xenial main)

Packet kubelet

Packet kubeadm est nécessaire afin de communiquer avec le master.

Swapoff –a nécessaire !

Utilisation du jeton pour communiquer avec le master !

10

Illustration

Figure 1 – Dashboard de kubernetes

11

Illustration

Figure 2 – Dashboard de Traefik

12

Plan jusqu’à la

soutenance finale

13

Maintenant que nous avons réussi à configurer tout ceci en local,

le plan jusqu’à la soutenance finale est donc le suivant :

Implémentation sur de vrais serveurs distants(configurer tout ceci en

SSH)

Mettre en place Rancher (gestionnaire de K8s)

Implémenter l’outil Promethus en complément de Traefik