Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/acensjj/ft_services
- Owner: AcensJJ
- Created: 2020-01-21T14:05:39.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-11T23:53:41.000Z (over 3 years ago)
- Last Synced: 2024-11-09T04:32:42.292Z (about 2 months ago)
- Topics: 42, 42born2code, docker, ft-services, grafana, grafana-influxdb, influxdb, kubernetes, nginx
- Language: Shell
- Homepage:
- Size: 1.59 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ft_services
### 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)