Skip to content

ft_services will introduce you to Kubernetes. This project aims to deepen your knowledge about using Docker and will let you discover cluster management and deployment with Kubernetes. You will virtualize a network and do clustering.

License

Notifications You must be signed in to change notification settings

paozer/ft_services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The main goal of this solo project is to introduce students to Kubernetes by orchestrating services similar to those used for a real website. Additionally students deepen their knowledge about Docker. Every service has to run in a dedicated container and must use Alpine Linux for performance reasons. We are not allowed to use Dockerhub and Kubernetes deployments must use self-made and local Docker images.

The services to deploy are a Wordpress, Phpmyadmin, Nginx, Ftps, Grafana (linked with InfluxDB receiving metrics from Telegraf). Additionally the Nginx container must be accessible through SSH and containers must restart in case they crash or the service becomes unavailable.

Installation

To build the Docker images and deploy the services on MacOS (I have not tested the script on Linux) you can run the setup.sh script. It requires Minikube and Docker to be installed. You can run display.sh to display links to the deployed services.

git clone https://github.com/paozer/ft_services && cd ft_services && ./setup.sh

Resources

This project requires reading a lot documentation and bumping into a lot of new concepts.

Wordpress

Mysql

Nginx

Ftps

Influxdb, Telegraf & Grafana

Kubernetes

Possible Improvements

  • setup metallb.universe.tf loadbalancer
  • use secrets for ssh certificates
  • improve overall security
  • improve ftps security
  • add pod readiness probes

About

ft_services will introduce you to Kubernetes. This project aims to deepen your knowledge about using Docker and will let you discover cluster management and deployment with Kubernetes. You will virtualize a network and do clustering.

Topics

Resources

License

Stars

Watchers

Forks