« SE4 Virtualisation TP Wasilewski » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
(Page créée avec « 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 inst... »)
 
(Add tutorial subject)
Ligne 1 : Ligne 1 :
Target: discover technologies and use a web server
'''Target: discover technologies and use a web server'''


1. On proxmox: manual conf vm network / ping google / reboot proof
1. On proxmox: manual conf vm network / ping google / reboot proof
2. Install nginx / conf dns / setup static page
2. Install nginx / conf dns / setup static page
3. Install HAProxy / redirect 8888 to nginx
3. Install HAProxy / redirect 8888 to nginx
4. Install docker / pull nginx image / copy static page in container / redirect haproxy 8889 to container


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


Target: discover technologies and use a web server
 
'''Target: discover technologies and use a web server'''


5. Docker image creation with static page / publish on registry
5. Docker image creation with static page / publish on registry
6. Install nomad single instance
6. Install nomad single instance
7. Create nomad job definition to run previous container with Nomad
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
8. Increase job definition count to run 3 container / configure HAProxy with auto discovery
9. Add route on Zabeth to view the page
9. Add route on Zabeth to view the page


---


Target: setup a distributed service + deploy from CI
'''Target: setup a distributed service + deploy from CI'''


10. Reconfigure nomad to use the common consul and common nomad server
10. Reconfigure nomad to use the common consul and common nomad server
11. Create git repo on Gitlab / Store dockerfile + static page
11. Create git repo on Gitlab / Store dockerfile + static page
12. Update job definition in repo / setup CI / deploy new configuration to global nomad
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
13. Update global haproxy configuration to redirect to the the newly deployed web service


---


<nowiki>####</nowiki> New parts for SE4
'''Target: build and deploy more complex services'''


Target: build and deploy more complex services
14. Create new repo as the web repo to build and push a dockerized DHCP server


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
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
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
'''Target: boot an OS from the network'''


17. Update web server to host an ipxe configuration file boot this new OS
17. Update web server to host an ipxe configuration file boot this new OS
18. Mount `/home/xxx` as rbd volume from Ceph
18. Mount `/home/xxx` as rbd volume from Ceph


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


---


<nowiki>####</nowiki> Extra parts for experimented SE4
<nowiki>####</nowiki> Extra parts for experimented SE4


Target: build a custom OS
'''Target: build a custom OS'''


19. Build a kernel (Bonus: less than 50 Mo + boot time < 2s)
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)
20. Build an init that displays your team ID on the terminal (Bonus: pimped init banner)
21. Build an init that starts network interfaces
21. Build an init that starts network interfaces


---


Target: create a logging service
'''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
22. Create a script / service that request user credentials, checks its validity against /etc/passwd, then mount dynamically user's home from rbd
22. Improve script and update initrd to have a window manager starting after logging
 
23. Improve script and update initrd to have a window manager starting after logging

Version du 3 mars 2024 à 19:20

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