This project consists of implementing an infrastructure with different services. For this, we will use Kubernetes. Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. Each service works in a dedicated container and, for performance reasons, each container image is build from scratch from the alpine linux base image. The access to the cluster is made through a load balancer.
MetalLB
: a Load Balancer that manages external access to its services. It is the only entrance to the cluster.
Nginx
: an HTTP and reverse proxy server
Wordpress
: a content management system (CMS) written in PHP that uses a MySQL database.
Mysql
: relational database management system used by Wordpress to store its data.
phpMyAdmin
: an administration tool for MySQL.
FTPS
: a protocol, secured by SSL, used for the transfer of computer files from a server to a client on a computer network.
Grafana
: a analytics and interactive visualization web application. Allows you to query, view, alert, and explore your metrics from Time Series Database Storage (TSDB).
InfluxDB
: a time series database optimized for fast, high-availability storage and retrieval of time series data.
Telegraf
: a plugin-driven server agent for collecting and sending metrics and events from databases and systems.
A bash script is used to launch the cluster.
$ git clone https://github.com/vscabell/ft_services
$ cd ft_services
$ bash setup.sh
If you don't have these packages installed, it can be provided by running the follow command.
$ bash setup.sh install
When you don't need those packages anymore, you can uninstall them by running.
$ bash setup.sh uninstall
Run on Linux environment 🐧