1

I'm looking for an advice whether it's possible to run K8s master + node on 2G x86_64 box? Atomic PI is based on X86 and has 2G while it's cheap. If I want 4G or 8G boards such as LattePanda Alpha or Udoo X86, they cost nearly 10 times more.

1) So first question whether it's possible to build a cluster and it will work without any extra pods/services on 2G three boxes?

2) What will be approximate remaining RAM left? So I will be able to start some service for demonstration/learning purpose to see how ingress, built-in load balancer, cert-manager or similar things work.

3) Is Atomic PI suitable at all? Some specs here: Intel Atom x5-Z8350 quad core CPU with 2M Cache 1.92 Ghz, 16G SD card, 2GB DDR3L-1600, architecture x86 64 bit, runs Ubuntu 18.04 x86_64

4) Any ways to compensate memory usage (e.g. exclude dashboard, etc.)? How about starting kubelet with --fail-swap-on=false and specifying no memory limits for my app containers. The purpose is to use swap, because I'm not interested in performance in this project.

Preferred 3 boards in total as masters and nodes.

Thank you

laimison
  • 519
  • 2
  • 7
  • 16
  • How'd this project turn out, did you ever end up doing it? – AveryFreeman Sep 30 '21 at 10:44
  • Unfortunately, no. I went for a bigger hardware. Didn't dive deep into this option so couldn't say if this is complicated or not. – laimison Sep 30 '21 at 11:28
  • Thanks for letting me know. Sounds like you probably made the right decision :) – AveryFreeman Oct 05 '21 at 03:17
  • Based on current technology small x86 boards get expensive when 4 or 8G RAM is installed. They are not broadly tested too. In the other hand, clustering is memory hungry and it's easy to fill up 4GBs even with one app. You could go with ARM, but it's another world as all Docker images, binaries and automations are built for x86. Probably best option is to get smaller x86 desktop hardware or normal-sized hardware to save costs, get best stability and don't waste time on deployments due to lack of RAM, do unnecessary customisations or face other issues that can be caused by low-energy rare HW. – laimison Oct 05 '21 at 11:15

1 Answers1

3

Looking at the memory requirements 2GB could be not enough to run it.

Minimal required memory & CPU (cores)

  • Master node’s minimal required memory is 2GB and the worker node needs minimum is 1GB
  • The master node needs at least 1.5 and the worker node need at least 0.7 cores.

However there are other solution that you may find interesting such as lightweight kubernetes solutions:

k3s is a lightweight Kubernetes distribution in less than 40 MB. It`s is very easy to install, and only requires 512 MB of RAM It works great with something small like Rasppberry but also with some bigger servers as well.

Alternative option is:

This is similar and have small disk and memory footprint. Basic installtion has bare minimum components but you can adjust it using Addons such as dashboard, fluentd, ingress or helm.

acid_fuji
  • 533
  • 3
  • 8