macroblog.rs @ b4472b41214eeeacce071df41bf0f782e1f16d6d

  1<section>
  2    <h3>Goal</h3>
  3    <p>
  4    The goal is to deploy kubernetes on my local networks, and keep everything
  5    as reproducible as possible.
  6    </p>
  7    <h3>Stack</h3>
  8    <p>
  9    I'll use Fedora Core OS, Matchbox and Terraform
 10    <sup><a href="#footnotes">1</a></sup>, a match the requirements for
 11    Tectonic<sup><a href="#footnotes">2</a></sup>.</p>
 12    <h3>Steps</h3>
 13    <ul>
 14        <li>Network Setup DHCP/TFTP/DNS<sup><a href="#footnotes">3</a></sup></li>
 15        <li>Matchbox<sup><a href="#footnotes">4</a></sup></li>
 16        <li>PXE nextwork boot evnrionment</li>
 17        <li>Terraform Tectonic<sup><a href="#footnotes">5</a></sup></li>
 18    </ul>
 19    <h3>Network Setup DHCP/TFTP/DNS</h3>
 20    <p>First learning the basics</p>
 21    <ul>
 22        <li>
 23            <a href="https://linuxhint.com/install_dhcp_server_ubuntu/">
 24                https://linuxhint.com/install_dhcp_server_ubuntu/
 25            </a>
 26        </li>
 27        <li>
 28            <a href="https://www.youtube.com/watch?v=XQ3T14SIlV4">
 29                https://www.youtube.com/watch?v=XQ3T14SIlV4
 30            </a>
 31        </li>
 32    </ul>
 33    <p>
 34    To check open ports
 35    <pre><code>lsof -Pni | grep LISTEN</code></pre>
 36    </p>
 37    <p>
 38    Run the provided<sup><a href="#footnotes">6</a></sup> image with dnsmasq and
 39    PXE toolkit
 40    <pre><code>docker run --rm --cap-add=NET_ADMIN --net=host quay.io/coreos/dnsmasq \
 41  -d -q \
 42  --dhcp-range=192.168.1.3,192.168.1.254 \
 43  --enable-tftp --tftp-root=/var/lib/tftpboot \
 44  --dhcp-match=set:bios,option:client-arch,0 \
 45  --dhcp-boot=tag:bios,undionly.kpxe \
 46  --dhcp-match=set:efi32,option:client-arch,6 \
 47  --dhcp-boot=tag:efi32,ipxe.efi \
 48  --dhcp-match=set:efibc,option:client-arch,7 \
 49  --dhcp-boot=tag:efibc,ipxe.efi \
 50  --dhcp-match=set:efi64,option:client-arch,9 \
 51  --dhcp-boot=tag:efi64,ipxe.efi \
 52  --dhcp-userclass=set:ipxe,iPXE \
 53  --dhcp-boot=tag:ipxe,http://matchbox.example.com:8080/boot.ipxe \
 54  --address=/matchbox.example/192.168.1.2 \
 55  --log-queries \
 56  --log-dhcp</code></pre>
 57    </p>
 58    <h3>Matchbox</h3>
 59    <p>...</p>
 60    <h3>PXE network boot enviroment</h3>
 61    <p>...</p>
 62    <h3>Terraform Tectonic</h3>
 63    <p>...</p>
 64    <h3 id="footnotes">Links</h3>
 65    <div >
 66        <sup>1</sup>
 67        <a href="https://coreos.com/tectonic/docs/latest/install/bare-metal/metal-terraform.html">
 68            https://coreos.com/tectonic/docs/latest/install/bare-metal/metal-terraform.html
 69        </a>
 70        <div>
 71            <div>
 72                <sup>2</sup>
 73                <a href="https://coreos.com/tectonic/docs/latest/install/bare-metal/requirements.html">
 74                    https://coreos.com/tectonic/docs/latest/install/bare-metal/requirements.html
 75                </a>
 76                <div>
 77                    <div>
 78                        <sup>3</sup>
 79                        <a href="https://coreos.com/matchbox/docs/latest/network-setup.html">
 80                            https://coreos.com/matchbox/docs/latest/network-setup.html
 81                        </a>
 82                        <div>
 83                            <div>
 84                                <sup>4</sup>
 85                                <a href="https://coreos.com/matchbox/docs/latest/deployment.html">
 86                                    https://coreos.com/matchbox/docs/latest/deployment.html
 87                                </a>
 88                                <div>
 89                                    <div>
 90                                        <sup>5</sup>
 91                                        <a href="https://coreos.com/tectonic/releases/">
 92                                            https://coreos.com/tectonic/releases/
 93                                        </a>
 94                                        <div>
 95                                            <div>
 96                                                <sup>6</sup>
 97                                                <a href="https://github.com/poseidon/matchbox/tree/v0.7.0/contrib/dnsmasq">
 98                                                    https://github.com/poseidon/matchbox/tree/v0.7.0/contrib/dnsmasq
 99                                                </a>
100                                                <div>
101</section>