« SE4 Virtualisation TP Wasilewski » : différence entre les versions
(Add tutorial subject) |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
== Déroulé du TP == | |||
==== Target: discover technologies and use a web server ==== | |||
===== 1. Create VM ===== | |||
Create a virtual machine on proxmox. | |||
Manual configure virtual machine's network to be persistent. | |||
Ensure it can ping google. | |||
Reboot the VM and validate it. | |||
===== 2. First web server ===== | |||
Install nginx. | |||
(Hint: if it fails, do not forget to configure your VM's DNS). | |||
Setup a custom/cool static page. | |||
===== 3. First load balancer ===== | |||
Install HAProxy 2.8. | |||
Redirect port 8888 to the previously installed nginx. | |||
===== 4. Docker time ===== | |||
Install docker. | |||
Pull nginx image. | |||
Copy your custom static page into the container. | |||
Reconfigure HAProxy to use port 8889 onto the container. | |||
==== '''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 | ||
Ligne 51 : | Ligne 73 : | ||
Now the new OS boots and use remote storage for users. | Now the new OS boots and use remote storage for users. | ||
=== Extra parts for experimented SE4 === | |||
'''Target: build a custom OS''' | '''Target: build a custom OS''' | ||
Ligne 68 : | Ligne 88 : | ||
23. 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 | ||
== Notation des élèves == | |||
La notation du TP est décomposée en deux parties. | |||
14 points sont liés à l’achèvement des différentes étapes décrites précédemment. | |||
6 points sont liés à la performance. En effet; à la fin de chaque étape, il sera noté le classement des équipes. | |||
{| class="wikitable" | |||
|+ | |||
!Equipe \ Etape | |||
!1 | |||
!2 | |||
!3 | |||
!4 | |||
!5 | |||
!6 | |||
!7 | |||
!8 | |||
!9 | |||
!10 | |||
!11 | |||
!12 | |||
!13 | |||
!14 | |||
!15 | |||
!16 | |||
!17 | |||
!18 | |||
!19 | |||
!20 | |||
!21 | |||
!22 | |||
!23 | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|} |
Version du 3 mars 2024 à 19:46
Déroulé du TP
Target: discover technologies and use a web server
1. Create VM
Create a virtual machine on proxmox.
Manual configure virtual machine's network to be persistent.
Ensure it can ping google.
Reboot the VM and validate it.
2. First web server
Install nginx.
(Hint: if it fails, do not forget to configure your VM's DNS).
Setup a custom/cool static page.
3. First load balancer
Install HAProxy 2.8.
Redirect port 8888 to the previously installed nginx.
4. Docker time
Install docker.
Pull nginx image.
Copy your custom static page into the container.
Reconfigure HAProxy to use port 8889 onto the 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
Notation des élèves
La notation du TP est décomposée en deux parties.
14 points sont liés à l’achèvement des différentes étapes décrites précédemment.
6 points sont liés à la performance. En effet; à la fin de chaque étape, il sera noté le classement des équipes.
Equipe \ Etape | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|