SE4 Virtualisation TP Wasilewski

De wiki-se.plil.fr
Révision datée du 3 mars 2024 à 19:20 par Jwasilew (discussion | contributions) (Add tutorial subject)
Aller à la navigation Aller à la recherche

Target: discover technologies and use a web server

1. On proxmox: manual conf vm network / ping google / reboot proof

2. Install nginx / conf dns / setup static page

3. Install HAProxy / redirect 8888 to nginx

4. Install docker / pull nginx image / copy static page in container / redirect HAProxy 8889 to container


Target: discover technologies and use a web server

5. Docker image creation with static page / publish on registry

6. Install nomad single instance

7. Create nomad job definition to run previous container with Nomad

8. Increase job definition count to run 3 container / configure HAProxy with auto discovery

9. Add route on Zabeth to view the page


Target: setup a distributed service + deploy from CI

10. Reconfigure nomad to use the common consul and common nomad server

11. Create git repo on Gitlab / Store dockerfile + static page

12. Update job definition in repo / setup CI / deploy new configuration to global nomad

13. Update global haproxy configuration to redirect to the the newly deployed web service


Target: build and deploy more complex services

14. Create new repo as the web repo to build and push a dockerized DHCP server

15. Create a new repo as the web repo to build and push a dockerized TFTP server with ipxe

16. Create a new repo to build and push on S3 a debootstrap image of latest debian version


Target: boot an OS from the network

17. Update web server to host an ipxe configuration file boot this new OS

18. Mount `/home/xxx` as rbd volume from Ceph

Now the new OS boots and use remote storage for users.


#### Extra parts for experimented SE4

Target: build a custom OS

19. Build a kernel (Bonus: less than 50 Mo + boot time < 2s)

20. Build an init that displays your team ID on the terminal (Bonus: pimped init banner)

21. Build an init that starts network interfaces


Target: create a logging service

22. Create a script / service that request user credentials, checks its validity against /etc/passwd, then mount dynamically user's home from rbd

23. Improve script and update initrd to have a window manager starting after logging