Simulation-Software-Engineering / Simulation-Software-Engineering/Lecture-Material

Potential improvements to the virtualization/containers lecture

Offen
#202 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

lecture reworking part:vm-containers
Vorherrschende Sprache
Python
Sterne
63
Forks
70
Ø Merge
8 T. 18 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Some notes from my impression from this year:

  • Reduce the motivational content, and especially the duplication between sections. I had the feeling that everyone was motivated enough, and we needed more time for details and hands-on.
  • Explain the difference between virtualization and emulation, and explain the compatibility between architectures, since this is now more relevant than in the "almost everyone runs x86" years. This raised a lot of discussion this year. We could also show a concrete demo with QEMU.
  • Discuss KVM as an alternative to VirtualBox (potentially have a demo available)
  • Discuss concrete steps for minimizing the size of the published images (e.g., by running apt clean after apt update && apt install).
  • Put more emphasis on Singularity. I had the impression that students generally knew about Docker, while Singularity is quite neat.
  • Talk about Podman equally as much as Docker (or even default to Podman, in the same way as we default to Apptainer for talking about Singularity).
  • Discuss integration of Docker with VSCode and other tools (I quickly showed this at the end of the exercise).
  • Add a comparison table between solutions.
  • For the exercise, find, test, and suggest concrete solutions for Apple Silicon. This year, we had five students affected by this. What worked in the end was VMWare Fusion with Ubuntu images build for ARM. This worked with Vagrant as well (but I am not sure if the suggested bento/ubuntu-24.04 box worked in the end).

I also found it useful to have an overview of commands on the blackboard:

# Overview

## Vagrant

vagrant init bento/ubuntu-24.04

vagrant up
vagrant provision
vagrant ssh

vagrant global-status
vagrant box list

## Docker

docker pull ubuntu:24.04
docker run -it ubuntu:24.04
docker exec -it ubuntu:24.04 /bin/bash

docker image ls
docker ps -a

## Singularity

apptainer pull docker://ubuntu:24.04

apptainer shell ubuntu_24.04.sif
./ubuntu_24.04.sif
apptainer exec ubuntu_24.04.sif /bin/bash

Any feedback by students is welcome here as well.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Finden Sie die Vorlesungsmaterialien zu Virtualisierung und Containern sowie die dazugehörige Übung, und überprüfen Sie dann die nicht abgehakten Themen und die Befehlsübersicht in diesem Issue. Aktualisieren Sie den Vorlesungsinhalt, sodass die angeforderten Tools, Verfahren zur Image-Größe, Vergleiche und Hinweise zu Apple Silicon abgedeckt werden, und verifizieren Sie, dass die vorgeschlagenen Demonstrationen und Lösungen der Übung funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, ubuntu, vscode
Bereich
devops, documentation, infrastructure
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.