Skip to content

Chasing Down an Unusual Error in Networking

There’s always some issues getting started with container based platforms on Arm64 architecture. Things are improving every year, likely as a result of both Apple’s adoption of Arm64 architecture for their own processors and by other large vendors providing Arm architecture based computing solutions such as AWS Gravitron.

So when I opted to try out Cilium I should have seen this one coming.

Cilium looked attractive as its ability to provide load balancing without a secondary soution could potentially simplify things for me. I’ve used MetalLB in the past for this but trying something new and learning is the purpose of what I’m setting out to do.

So after some challenges in just getting containerd up and running which turned out to simply be an error in my configuration that was relatively easily reset, I turned to the install guide.

Sevral hours later after following things down the rabbit hole of various bugs, defects and online discussions, I ended up on the cilium system requirements page with a very clear set of instructions for my particular purpose. The heading reading “Ubuntu 22.04 on Raspberry Pi”.

In short I was missing some kernal modules, an easy fix, but one I really didn’t see coming. Probably should have read that manual in a bit more detail first.

On the plus side I was able to add this requirement into the Ansible playbooks and quickly deploy to all nodes and then after a quick reboot – success! "A screenshot of :cilium status" reporting all OK."

Now after a quick cycle up of all worker nodes, it didn’t take long for everyone to come live and for both the kubectl command and for Cilium to report everything up and running.

"Output of "kubectl get nodes" - all nodes reporting ready."

"Output of "cilium status" with all 6 DaemonSets reporting as OK."

Next will be the installation of some basic services on the platform. I have an old wiki site I’d like to restore and get back up and running, as well as a DotNet Core application I’d like to deploy for further testing.

After this, I’d like to enable the Hubble UI and see if I can get some useful visuals from the platform as it interacts.