Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 4.76 KB

README.md

File metadata and controls

59 lines (45 loc) · 4.76 KB

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 Nginx Php Sql Wordpress Php my admin Minikube grafana influxdb telegraf helm Virtual box