Inception of Things
Project Ecole 42
Duo project
Automate deployment and implementation application containers on clusters
Technology :
• Kubernetes (K3S K3D) • Vagrant • Argo CD • Docker • Git Hub • Git LabPart 1 : K3s and Vagrant
• Set up 2 machines with Vagrantfile.• The hostname of the first machine must be followed by the capital letter S (like Server). The hostname of the second machine must be followed by SW (like ServerWorker).
• Have a dedicated IP on the eth1 interface. The IP of the first machine (Server) will be 192.168.42.110, and the IP of the second machine (ServerWorker) will be 192.168.42.111
• Be able to connect with SSH on both machines with no password.
• Be able to connect with SSH on both machines with no password.
• Install K3s on both machines:
- In the first one (Server), it will be installed in controller mode.
- In the second one (ServerWorker), in agent mode.
• Install kubectl
Part 2 : K3s and three simple applications
• Set up 3 web applications of your choice that will run in your K3s instance.
• Be able to access them depending on the HOST used when making a request to the IP address 192.168.42.110.
• When a client inputs the ip 192.168.42.110 in his web browser with the HOST app1.com, the server must display the app1. When the HOST app2.com is used, the server must dis- play the app2. Otherwise, the app3 will be selected by default.
• Result when the virtual machine is correctly configured:
Part 3 : K3d and Argo CD , Git Hub
• Install K3D on your virtual machine.• Write a script to install every necessary packages and tools.
• Set up a small infrastructure (CD CI) following the logic illustrated by the diagram below:
• Have to create two namespaces:
- The first one will be dedicated to Argo CD.
- The second one will be named dev and will contain an application. This application will be automatically deployed by Argo CD using your online Github repository.
• The application that will be deployed must have two different versions
• Must be able to change the version from your public Github repository, then check that the application has been correctly updated.
Bonus Part : K3d and Argo CD , Git Lab
• Add Gitlab in the lab you did in Part 3.• Your Gitlab instance must run locally.
• Configure Gitlab to make it work with your cluster.
• Create a dedicated namespace named gitlab.
• Everything you did in Part 3 must work with your local Gitlab.