« SE4 Virtualisation TP Wasilewski » : différence entre les versions
(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 | |||
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 | ||
'''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 | 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 | ||
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