#% if bootstrap_distribution in ['k0s'] %# #!/usr/bin/env bash set -e set -o noglob [ $(id -u) -eq 0 ] || exec sudo $0 $@ # Prepare sudo apt-get update -y # Hostname if [ -n "${INSTALL_K0S_HOSTNAME}" ] && [ "$(hostnamectl hostname)" != "${INSTALL_K0S_HOSTNAME}" ]; then hostnamectl set-hostname "${INSTALL_K0S_HOSTNAME}" tee /etc/hosts > /dev/null < /etc/resolv.conf search . nameserver #{ bootstrap_dns_server }# EOF chattr +i /etc/resolv.conf #% endif %# # Kernel Modules for module in br_netfilter ceph ip_vs ip_vs_rr nbd overlay rbd; do if ! test -f /etc/modules-load.d/$module.conf; then echo $module > /etc/modules-load.d/$module.conf fi done systemctl restart systemd-modules-load.service # Sysctls cat < /etc/sysctl.d/99-kubernetes.conf fs.inotify.max_queued_events = 65536 fs.inotify.max_user_watches = 524288 fs.inotify.max_user_instances = 8192 EOF sysctl -p /etc/sysctl.d/99-kubernetes.conf # Disable swap swapoff -a # Disable AppArmor if systemctl is-enabled apparmor.service; then systemctl mask apparmor.service fi # Neofetch cat < /etc/profile.d/neofetch.sh neofetch --config none EOF chmod 755 /etc/profile.d/neofetch.sh # Create containerd config mkdir -p /etc/k0s/containerd.d cat < /etc/k0s/containerd.d/default.toml [plugins."io.containerd.grpc.v1.cri"] enable_unprivileged_ports = true enable_unprivileged_icmp = true [plugins."io.containerd.grpc.v1.cri".registry] config_path = "/var/lib/k0s/containerd/certs.d" [plugins."io.containerd.grpc.v1.cri".containerd] discard_unpacked_layers = false [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] discard_unpacked_layers = false EOF #% endif %#