#cloud-config users: - name: arch groups: - wheel - users lock_passwd: false passwd: $6$KHqF91TQzQNJECRV$/zMRa92BqMB5juUpKfIHbOpOdUPyNlLJTpymplTOP.uqoonD/AZzNRnA/XACZTuqyxAktuohSjXhyfskbRjbO1 ssh_authorized_keys: - ${ssh_public_key} sudo: ALL=(ALL) NOPASSWD:ALL packages: - bash-completion - cri-o - kubeadm - kubectl - kubelet - man - man-pages - qemu-guest-agent - ripgrep - tmux - tree - vim write_files: - content: | 10.10.66.50 k8s 10.10.66.100 worker0 10.10.66.101 worker1 10.10.66.200 controller0 10.10.66.201 controller1 path: /etc/hosts append: true - content: | # added by cloud-init [crio] storage_driver = "btrfs" path: /etc/crio/crio.conf.d/10-btrfs.conf - content: | # added by cloud-init [crio.network] plugin_dirs = ["/usr/lib/cni/", "/opt/cni/"] path: /etc/crio/crio.conf.d/10-cni_plugins.conf runcmd: - [ systemctl, mask, swap-swapfile.swap ] - [ swapoff, -a ] - [ rm, -rfv, /var/lib/containers ] - [ btrfs, subvolume, create, /var/lib/kubelet ] - [ btrfs, subvolume, create, /var/lib/containers/ ] - [ sed, -e, '$a/dev/vda2 /var/lib/kubelet btrfs rw,relatime,compress=zstd:3,space_cache,ssd,subvol=var/lib/kubelet 0 0', -i, /etc/fstab] - [ sed, -e, '$a/dev/vda2 /var/lib/containers btrfs rw,relatime,compress=zstd:3,space_cache,ssd,subvol=var/lib/containers 0 0', -i, /etc/fstab] - [ mount, -a ] - [ modprobe, overlay ] - [ modprobe, br_netfilter] - [ systemctl, enable, --now, qemu-guest-agent, crio, kubelet ]