Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/acensjj/ft_services

Le projet consiste a mettre en place une infrastructure de différents services a l'aide de Kubernetes.
https://github.com/acensjj/ft_services

42 42born2code docker ft-services grafana grafana-influxdb influxdb kubernetes nginx

Last synced: about 7 hours ago
JSON representation

Le projet consiste a mettre en place une infrastructure de différents services a l'aide de Kubernetes.

Awesome Lists containing this project

README

        


42-lyon

# ft_services

Note

### Description

Le projet consiste a mettre en place une infrastructure de différents services a l'aide de Kubernetes.

# Partie obligatoire

Vous allez aussi devoir mettre en place :
- Le dashboard web de Kubernetes. Celui-ci est utile pour gérer votre cluster.
- Un Load Balancer qui gère l’accès externe à vos services dans un cluster. C’est
uniquement lui qui vous servira pour exposer vos services. Vous devez garder les
ports propres aux services (IP `:3000` pour grafana etc).
- Un serveur Nginx ouvert sur les `ports 80 et 443`. Le `port 80` sera en http et devra
faire une redirection systématique de type `301` vers le `443`, qui sera lui en https.
La page affichée n’a pas d’importance.
- Un serveur FTPS ouvert sur le `port 21`.
- Un WordPress ouvert sur le `port 5050`, fonctionnant avec une base de données
MySQL. Les deux devront être dans deux containers distincts. Le wordpress devra
comporter *plusieurs utilisateurs* et *un administrateur*.
- PhpMyAdmin, tournant sur le `port 5000` et relié à la base de données MySQL.
- Un Grafana, accessible sur le `port 3000`, fonctionnant avec une base de données
InfluxDB. Celui-ci devra vous permettre de monitorer tous vos containers. Les
deux devront aussi être dans deux containers distincts. Vous devrez créer un dashboard par container.
- En cas de crash ou d’arrêt d’un des deux containers de base de données, vous
devrez vous assurer que celles-ci puissent persister et ne soient pas perdues. En
cas de suppression, les volumes où la data est sauvegardée doivent persister.
- Vous devrez vous assurer de pouvoir accéder à votre Nginx en connexion SSH.
- Chacun de vos containers devra pouvoir redémarrer automatiquement en cas de
crash ou d’arrêt d’un des éléments le composant.

# Documentation

Install ```helm``` / ```jq``` / ```docker``` / ```docker-machine``` / ```virtualbox``` / ```kubectl``` / ```minikube``` : Documentation.

Git clone le projet et ```./setup.sh [$1 (delete / restart / ssh / minikube / dashboard / ip / password)] [$2 (only)] ``` dans le projet (ft_services).

- $1 :
- ```delete``` : suppression des containers (no only possible)
- ```restart``` : redemarrage de tout les containers (no only possible)
- ```ssh``` : redirection vers le ssh
- ```minikube``` : activation et redirection de l'interface minikube
- ```dashboard``` : affichage des containers et de leur etat
- ```ip``` : voir l'ip du serveur
- ```password``` : afficher les mots de passe MySql et wordpress

- $2:
- ```only``` : pour executer seulement le premier argument (seulement suprimé les containers, voir l'ip, etc...)

# Technologie

![Docker](https://user-images.githubusercontent.com/45235527/96755415-fd613c00-13d2-11eb-9e80-ca852dbd7cac.png) Nginx Php Sql Wordpress Php my admin Minikube grafana influxdb telegraf helm Virtual box