Create a memory hungry application (systemd-service), try to limit it’s resources using cgroups and create a separate proc namespace to isolate processes. [10 points]
By the end of the exercise, you should learn about
Do the same using docker containers. [10 points]
Nextcloud is an OpenSource private self-hosted storage solution akin to Dropbox. A Nextcloud deployment typically contains a web proxy, mysql, a php application, and the letsencrypt certbot for automated TLS certificate renewals. Deploy a Nextcloud instance using containers (You may use a Dockerfile or docker-compose, up to you). You may skip deploying the TLS certificate generator / renewal bot (letsencrypt-nginx-proxy-companion) if you don’t want to support TLS / HTTPS (EFF’s certbot).
Hint 1
: Nextcloud is OpenSource.
Hint 2
: HTTPS is usually configured to run on port 443.
Hint 3
: Hint for hint 1: https://github.com/nextcloud/docker/tree/master/.examples
Submit
your Dockerfiles / docker-compose files and nextcloud deployment endpoints.
By the end of the exercise, you should learn about
[40 points]
Bonus: Try to make the deployment stateless. [40 points]
Create two namespaces providing veth (Virtual Ethernet drivers) isolation, so that the two containers are able to ping each other.
By the end of the exercise, you should learn about
Submit
screenshots of ping trace / dockerfiles / configuration used.
[30 points]
Bake a Cloudstack Image to spin up a VMs(KVM) with attached volumes, each with a random hostname which shouts the box’s hostname on flock after it comes up.
By the end of the exercise, you should learn about
Submit
your Imageid and your flockbot name.
[40 points]