diff options
Diffstat (limited to 'content/posts/2020-07-12Road_to_local_K8S.html')
-rw-r--r-- | content/posts/2020-07-12Road_to_local_K8S.html | 101 |
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> |