--- title: "Road to local k8s" date: 2020-07-13 tags: ['kubernetes', 'linux', 'fedora'] --- # Goal The goal is to deploy kubernetes on my local networks, and keep everything as reproducible as possible. # Stack I\'ll use Fedora Core OS, Matchbox and Terraform [^1], a match the requirements for Tectonic [^2] ## Steps - Network Setup DHCP/TFTP/DNS [^3] - Matchbox [^4] - PXE network boot environment - Terraform Tectonic [^5] ## Network Setup DHCP/TFTP/DNS First learning the basics again: - - To check open ports ```shell lsof -Pni | grep LISTEN ``` Run the provided [^6] image with `dnsmasq` and PXE toolkit ``` {.bash org-language="sh"} docker run --rm --cap-add=NET_ADMIN --net=host quay.io/coreos/dnsmasq \ -d -q \ --dhcp-range=192.168.1.3,192.168.1.254 \ --enable-tftp --tftp-root=/var/lib/tftpboot \ --dhcp-match=set:bios,option:client-arch,0 \ --dhcp-boot=tag:bios,undionly.kpxe \ --dhcp-match=set:efi32,option:client-arch,6 \ --dhcp-boot=tag:efi32,ipxe.efi \ --dhcp-match=set:efibc,option:client-arch,7 \ --dhcp-boot=tag:efibc,ipxe.efi \ --dhcp-match=set:efi64,option:client-arch,9 \ --dhcp-boot=tag:efi64,ipxe.efi \ --dhcp-userclass=set:ipxe,iPXE \ --dhcp-boot=tag:ipxe,http://matchbox.example.com:8080/boot.ipxe \ --address=/matchbox.example/192.168.1.2 \ --log-queries \ --log-dhcp ``` ## Matchbox ## PXE network boot environment ## Terraform Tectonic ------------------------------------------------------------------------ # Links [^1]: [^2]: [^3]: [^4]: [^5]: [^6]: