Skip to content

Files

All scripts and configuration files used for Week 1. The source code is on GitHub.

CI Week 1


Scripts

FileDescription
configure_master.shSets up the Kubernetes master node on Ubuntu 25.10. Goes through ten steps: system updates, kernel modules, installing and configuring containerd (including SystemdCgroup = true via a Python patch), Kubernetes v1.35 packages, disabling swap, kubeadm init, and installing Flannel CNI.
configure_worker.shSets up a worker node. Runs the same steps 1-8 as the master script, but skips kubeadm init. After this script, run the kubeadm join ... command from the master.
AUTOSTART-configure_classic_sudo.shGCP startup script that installs classic sudo on every boot to replace sudo-rs. Ubuntu 25.10 ships with sudo-rs (version 0.2.8) by default, which has a session bug causing sudo reboot to fail.
Installmastertemplate.shTemplate script for master node installation.
installnode.shInstallation script for a generic node.

Application

FileDescription
DockerfileBuilds the static site based on nginx:1-alpine-slim. The Alpine variant was chosen deliberately: ~5 MB vs ~180 MB for Debian, smaller attack surface, and faster pull times.
nginx-default.confNginx configuration for the static site.
deployment.ymlKubernetes Deployment with 2 replicas of the container (stensel8/public-cloud-concepts:latest).
service.ymlKubernetes LoadBalancer Service on port 80.
index.htmlSource code of the static site.