Bash install / setup scripts for an Ubuntu-based development environment, with a focus on Kubernetes and container tooling. Each script targets a single tool or step and is safe to re-run.
All scripts assume Ubuntu and bail out otherwise.
upgrade-ubuntu.sh—apt update && upgrade && autoremoveinstall-net-tools.sh—net-tools,iproute2,iputils-pinginstall-nfs-client.sh—nfs-common,cifs-utils
GUI / desktop bits for headless or minimal installs.
install-ubuntu-desktop.sh,install-xrdp.sh,install-chrome.sh,install-hangul.sh
Hypervisors and Vagrant.
install-virtualbox.sh,install-vagrant.sh,install-kvm.sh,install-vagrant-libvirt.sh
Toolchains.
install-gcc.sh,install-java.sh,install-golang.sh,install-rust.sh
Container runtimes.
install-docker.sh— Docker CE + compose / buildx plugins (usedocker compose ...)install-containerd.sh— containerd withSystemdCgroup = true
Cluster installers and add-ons.
Cluster installers (pick one):
install-minikube.sh— single-node, requires a hypervisorinstall-microk8s.sh— snap-basedinstall-k3s.sh— lightweight, ships with flannelinstall-kubeadm.sh— production-style; pairs withinitialize-kubeadm.shanddeploy-cni.sh
kubeadm flow:
# install (latest stable, or pin a version)
./install-kubeadm.sh
VERSION=1.33 ./install-kubeadm.sh # latest patch of 1.33
VERSION=1.33.0 ./install-kubeadm.sh # specific patch
# bring up the control plane (single-node by default)
./initialize-kubeadm.sh
MULTI=true ./initialize-kubeadm.sh # keep the control-plane taint
# deploy a CNI
CNI=cilium ./deploy-cni.sh # flannel | calico | ciliumHelpers:
enable-bridge-nf-call-iptables.sh— fix for worker nodes failingkubeadm joininstall-helm.sh,install-kubebuilder.sh,install-cilium-cli.sh
Add-ons (each in its own directory):
metrics-server/—kubectl topsupportmetallb/— bare-metal LoadBalanceristio/— service mesh (download, install, namespace injection toggles)cilium-hubble/— observability for Ciliumtetragon/— eBPF runtime security