ingdicath / ft_services

CODAM project Curriculum 2019

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ft_services

CODAM project Curriculum 2019

  • Project type: System Administration and Networking.
  • Objective: Setting up an infrastructure of different services using Kubernetes.

Requirements

This project is aimed to set up a multi-service cluster. It must meet the following requirements:

  • You must use Kubernetes
  • Each service will have to run in a dedicated container.
  • For performance reasons, containers have to be build using Alpine Linux.
  • Containers will need to have a Dockerfile which is called in the setup.sh script.
  • Build by yourself the images that the project will use.

Mandatory set ups:

  • The Kubernetes web dashboard.
  • The Load Balancer(MetalLB). It will be the only entry point to your cluster. Load Balancer will have a single ip.
  • A WordPress website listening on port 5050, which will work with a MySQL database.
  • phpMyAdmin, listening on port 5000 and linked with the MySQL database (MariaDB).
  • A container with an nginx server listening on ports 80 and 443.
  • A FTPS server listening on port 21.
  • A Grafana platform, listening on port 3000, linked with an InfluxDB database.

β›” Restriccions

  • It is forbidden to take already build images or use services like DockerHub.
  • Usage of Node Port services, Ingress Controller object or kubectl port-forward command is prohibited.

Prerequisites

For performance reasons, it is recommended to run this project on MacOs or Linux. In this repository, the scripts were made for MacOs. However, in the setup.sh script, you can find some notes about Windows (10 Home edition).

  1. For Kubernetes commands: Install kubectl
  2. For Kubernetes cluster:Install minikube
  3. For Virtual Machine: Install virtualBox
  4. For testing FTP server is highly recommended: Install FileZilla

πŸ˜‰ For testing in CODAM pcs, before run setup.sh script, you can use CODAM_config.sh script.

For setups on Windows: ⚠️

  • If you are using powershell, be sure to run as Administrator.
  • For running script files, it is necessary to have installed a Linux-like interface (Cygwin e.g.).

How to build πŸ”¨

  1. Clone the repository and go to folder cd ft_services
  2. Type in the terminal bash setup.sh
  3. Type in a new terminal kubectl get all for display services, pods, deployments, etc.


Resources πŸ“š

More info in the Wiki!


Outputs 😎

  • VirtualBox

  • Dashboard

  • Nginx

  • Wordpress

  • Phpmyadmin

  • Grafana

  • Filezilla

  • Certificate - Filezilla

About

CODAM project Curriculum 2019


Languages

Language:Shell 40.0%Language:Dockerfile 27.8%Language:PHP 24.5%Language:HTML 7.7%