aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2020-07-12Road_to_local_K8S.html
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2020-07-12Road_to_local_K8S.html')
-rw-r--r--content/posts/2020-07-12Road_to_local_K8S.html101
1 files changed, 101 insertions, 0 deletions
diff --git a/content/posts/2020-07-12Road_to_local_K8S.html b/content/posts/2020-07-12Road_to_local_K8S.html
new file mode 100644
index 0000000..5d34b27
--- /dev/null
+++ b/content/posts/2020-07-12Road_to_local_K8S.html
@@ -0,0 +1,101 @@
+<section>
+ <h3>Goal</h3>
+ <p>
+ The goal is to deploy kubernetes on my local networks, and keep everything
+ as reproducible as possible.
+ </p>
+ <h3>Stack</h3>
+ <p>
+ I'll use Fedora Core OS, Matchbox and Terraform
+ <sup><a href="#footnotes">1</a></sup>, a match the requirements for
+ Tectonic<sup><a href="#footnotes">2</a></sup>.</p>
+ <h3>Steps</h3>
+ <ul>
+ <li>Network Setup DHCP/TFTP/DNS<sup><a href="#footnotes">3</a></sup></li>
+ <li>Matchbox<sup><a href="#footnotes">4</a></sup></li>
+ <li>PXE nextwork boot evnrionment</li>
+ <li>Terraform Tectonic<sup><a href="#footnotes">5</a></sup></li>
+ </ul>
+ <h3>Network Setup DHCP/TFTP/DNS</h3>
+ <p>First learning the basics</p>
+ <ul>
+ <li>
+ <a href="https://linuxhint.com/install_dhcp_server_ubuntu/">
+ https://linuxhint.com/install_dhcp_server_ubuntu/
+ </a>
+ </li>
+ <li>
+ <a href="https://www.youtube.com/watch?v=XQ3T14SIlV4">
+ https://www.youtube.com/watch?v=XQ3T14SIlV4
+ </a>
+ </li>
+ </ul>
+ <p>
+ To check open ports
+<pre><code>lsof -Pni | grep LISTEN</code></pre>
+ </p>
+ <p>
+ Run the provided<sup><a href="#footnotes">6</a></sup> image with dnsmasq and
+ PXE toolkit
+<pre><code>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</code></pre>
+ </p>
+ <h3>Matchbox</h3>
+ <p>...</p>
+ <h3>PXE network boot enviroment</h3>
+ <p>...</p>
+ <h3>Terraform Tectonic</h3>
+ <p>...</p>
+ <h3 id="footnotes">Links</h3>
+ <div >
+ <sup>1</sup>
+ <a href="https://coreos.com/tectonic/docs/latest/install/bare-metal/metal-terraform.html">
+ https://coreos.com/tectonic/docs/latest/install/bare-metal/metal-terraform.html
+ </a>
+ <div>
+ <div>
+ <sup>2</sup>
+ <a href="https://coreos.com/tectonic/docs/latest/install/bare-metal/requirements.html">
+ https://coreos.com/tectonic/docs/latest/install/bare-metal/requirements.html
+ </a>
+ <div>
+ <div>
+ <sup>3</sup>
+ <a href="https://coreos.com/matchbox/docs/latest/network-setup.html">
+ https://coreos.com/matchbox/docs/latest/network-setup.html
+ </a>
+ <div>
+ <div>
+ <sup>4</sup>
+ <a href="https://coreos.com/matchbox/docs/latest/deployment.html">
+ https://coreos.com/matchbox/docs/latest/deployment.html
+ </a>
+ <div>
+ <div>
+ <sup>5</sup>
+ <a href="https://coreos.com/tectonic/releases/">
+ https://coreos.com/tectonic/releases/
+ </a>
+ <div>
+ <div>
+ <sup>6</sup>
+ <a href="https://github.com/poseidon/matchbox/tree/v0.7.0/contrib/dnsmasq">
+ https://github.com/poseidon/matchbox/tree/v0.7.0/contrib/dnsmasq
+ </a>
+ <div>
+</section>