variant: fcos version: 1.5.0 passwd: users: - name: core ssh_authorized_keys: - "ssh-rsa YOUR_PUBLIC_SSH_KEY_HERE" storage: files: # 1. Load required kernel modules for Kubernetes/CRI-O - path: /etc/modules-load.d/k8s.conf mode: 0644 contents: inline: | overlay br_netfilter # 2. Configure Sysctl for networking - path: /etc/sysctl.d/k8s.conf mode: 0644 contents: inline: | net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 systemd: units: # 3. Ensure CRI-O (Container Runtime) is enabled and started - name: crio.service enabled: true # 4. Kubelet Service definition - name: kubelet.service enabled: true contents: | [Unit] Description=Kubernetes Kubelet Documentation=https://github.com/kubernetes/kubernetes After=crio.service Requires=crio.service [Service] ExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/manifests ExecStart=/usr/bin/kubelet \ --container-runtime-endpoint=unix:///var/run/crio/crio.sock \ --register-node=true \ --v=2 Restart=always StartLimitInterval=0 RestartSec=10 [Install] WantedBy=multi-user.target