aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2020-07-13-k8s.md
diff options
context:
space:
mode:
authorGabriel Arakaki Giovanini <mail@gabrielgio.me>2022-06-21 21:39:04 +0200
committerGabriel Arakaki Giovanini <mail@gabrielgio.me>2022-06-21 21:43:28 +0200
commit93ad4d03b9d87d6177514de27bb94d9230da82e6 (patch)
tree89da96ae3a43b34ec0db13f57a657c099e24a15d /content/posts/2020-07-13-k8s.md
parentacf5f44cba664debef95e1275dd26c5679e6e357 (diff)
downloadgabrielgio.me-93ad4d03b9d87d6177514de27bb94d9230da82e6.tar.gz
gabrielgio.me-93ad4d03b9d87d6177514de27bb94d9230da82e6.tar.bz2
gabrielgio.me-93ad4d03b9d87d6177514de27bb94d9230da82e6.zip
ref: Move from orgmode to markdown
I'll never ever again move away from markdown. fix: Move to http ... until I add a certificate
Diffstat (limited to 'content/posts/2020-07-13-k8s.md')
-rw-r--r--content/posts/2020-07-13-k8s.md79
1 files changed, 79 insertions, 0 deletions
diff --git a/content/posts/2020-07-13-k8s.md b/content/posts/2020-07-13-k8s.md
new file mode 100644
index 0000000..8b706c1
--- /dev/null
+++ b/content/posts/2020-07-13-k8s.md
@@ -0,0 +1,79 @@
+---
+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:
+
+- <https://linuxhint.com/install_dhcp_server_ubuntu/>
+- <https://www.youtube.com/watch?v=XQ3T14SIlV4>
+
+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]: <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>