From f580f0c3a579fca70bece6eb3fcc15f4b09b1ec2 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 5 Dec 2024 11:29:04 +0200 Subject: Update content for html --- gemfeed/atom.xml | 72 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 30 deletions(-) (limited to 'gemfeed/atom.xml') diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index fbcd6a26..95f51da6 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2024-12-03T10:16:32+02:00 + 2024-12-05T11:28:33+02:00 foo.zone feed To be in the .zone! @@ -41,22 +41,26 @@

-

Deciding on the hardware


+
  • Deciding on the hardware
  • +
  • Not ARM but Intel N100
  • +
  • Beelink unboxing
  • +
  • Network switch
  • +
  • Installing FreeBSD
  • +
  • Base install
  • +
  • Latest patch level and customizing /etc/hosts
  • +
  • Additional packages after install
  • +
  • ⇢ ⇢ Helix editor
  • +
  • ⇢ ⇢ doas
  • +
  • ⇢ ⇢ Periodic ZFS snapshotting
  • +
  • ⇢ ⇢ Uptime tracking
  • +
  • Hardware check
  • +
  • Ethernet
  • +
  • RAM
  • +
  • CPUs
  • +
  • CPU throttling
  • +
  • Conclusion
  • +
    +

    Deciding on the hardware



    Note that the OpenBSD VMs included in the f3s setup (which will be used later in this blog series for internet ingress - as you know from the first part of this blog series) are already there. These are virtual machines that I rent at OpenBSD Amsterdam and Hetzner.

    @@ -67,7 +71,7 @@
    I've been considering whether to use Raspberry Pis or look for alternatives. It turns out that complete N100-based mini-computers aren't much more expensive than Raspberry Pi 5s, and they don't require assembly. Furthermore, I like that they are AMD64 and not ARM-based, which increases compatibility with some applications (e.g., I might want to virtualize Windows (via bhyve) on one of those, though that's out of scope for this blog series).

    -

    Not ARM but Intel N100


    +

    Not ARM but Intel N100



    I needed something compact, efficient, and capable enough to handle the demands of a small-scale Kubernetes cluster and preferably something I don't have to assemble a lot. After researching, I decided on the Beelink S12 Pro with Intel N100 CPUs.

    @@ -93,7 +97,7 @@
    I bought three (3) of them for the cluster I intend to build.

    -
    +

    Unboxing was uneventful. Every Beelink PC came with:

    @@ -107,15 +111,15 @@
    Overall, I love the small form factor.

    -

    Network switch


    +

    Network switch



    I went with the tp-link mini 5-port switch, as I had a spare one available. That switch will be plugged into my wall ethernet port, which connects directly to my fiber internet router with 100 Mbit/s down and 50 Mbit/s upload speed.

    Switch

    -

    Installing FreeBSD


    +

    Installing FreeBSD



    -

    Base install


    +

    Base install



    First, I downloaded the boot-only ISO of the latest FreeBSD release and dumped it on a USB stick via my Fedora laptop:

    @@ -143,7 +147,7 @@ http://www.gnu.org/software/src-highlite -->
    Beelink installation

    -

    Latest patch level and customizing /etc/hosts


    +

    Latest patch level and customizing /etc/hosts



    After the first boot, I upgraded to the latest FreeBSD patch level as follows:

    @@ -168,7 +172,7 @@ http://www.gnu.org/software/src-highlite --> END
    -

    Additional packages after install


    +

    Additional packages after install



    After that, I installed the following additional packages:

    @@ -179,8 +183,12 @@ http://www.gnu.org/software/src-highlite -->
    root@f0:~ # pkg install helix doas zfs-periodic uptimed
     

    +

    Helix editor


    +
    Helix? It's my favourite text editor. I have nothing against vi but like hx (Helix) more!

    +

    doas


    +
    doas? It's a pretty neat (and KISS) replacement for sudo. It has far fewer features than sudo, which is supposed to make it more secure. Its origin is the OpenBSD project. For doas, I accepted the default configuration (where users in the wheel group are allowed to run commands as root):

    root@f0:~ # cp /usr/local/etc/doas.conf.sample /usr/local/etc/doas.conf
     

    +

    Periodic ZFS snapshotting


    +
    zfs-periodic is a nifty tool for automatically creating ZFS snapshots. I decided to go with the following configuration here:

    monthly_zfs_snapshot_keep: 2 -> 6
    +

    Uptime tracking


    +
    uptimed? I like to track my uptimes. This is how I configured the daemon:


    Unveiling guprecords.raku: Global Uptime Records with Raku

    -

    Hardware check


    +

    Hardware check



    -

    Ethernet


    +

    Ethernet



    Works. Nothing eventful, really. It's a cheap Realtek chip, but it will do what it is supposed to do.

    @@ -281,7 +293,7 @@ http://www.gnu.org/software/src-highlite --> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
    -

    RAM


    +

    RAM



    All there:

    @@ -294,7 +306,7 @@ http://www.gnu.org/software/src-highlite -->
    -

    CPUs


    +

    CPUs



    They work:

    @@ -309,7 +321,7 @@ http://www.gnu.org/software/src-highlite --> dev.cpu.0.freq: 604
    -

    CPU throttling


    +

    CPU throttling



    With powerd running, CPU freq is dowthrottled when the box isn't jam-packed. To stress it a bit, I run ubench to see the frequencies being unthrottled again:

    @@ -331,7 +343,7 @@ http://www.gnu.org/software/src-highlite -->
    Idle consumption.

    -

    Conclusion


    +

    Conclusion



    The Beelink S12 Pro with Intel N100 CPUs checks all the boxes for a k3s project: Compact, efficient, expandable, and affordable. Its compatibility with both Linux and FreeBSD makes it versatile for other use cases, whether as part of your cluster or as a standalone system. If you’re looking for hardware that punches above its weight for Kubernetes, this little device deserves a spot on your shortlist.

    -- cgit v1.2.3