aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2020-07-12Road_to_local_K3S.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2020-07-12Road_to_local_K3S.md')
-rw-r--r--content/posts/2020-07-12Road_to_local_K3S.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/content/posts/2020-07-12Road_to_local_K3S.md b/content/posts/2020-07-12Road_to_local_K3S.md
new file mode 100644
index 0000000..a3ca530
--- /dev/null
+++ b/content/posts/2020-07-12Road_to_local_K3S.md
@@ -0,0 +1,73 @@
+# 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:
+
+- <https://linuxhint.com/install_dhcp_server_ubuntu/>
+- <https://www.youtube.com/watch?v=XQ3T14SIlV4>
+
+To check open ports
+
+``` {.bash org-language="sh"}
+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]: <https://coreos.com/tectonic/docs/latest/install/bare-metal/metal-terraform.html>
+
+[^2]: <https://coreos.com/tectonic/docs/latest/install/bare-metal/requirements.html>
+
+[^3]: <https://coreos.com/matchbox/docs/latest/network-setup.html>
+
+[^4]: <https://coreos.com/matchbox/docs/latest/deployment.html>
+
+[^5]: <https://coreos.com/tectonic/releases/>
+
+[^6]: <https://github.com/poseidon/matchbox/tree/v0.7.0/contrib/dnsmasq>