Go to file
2026-04-04 18:00:35 +00:00
2026-04-04 22:47:51 +08:00
2026-04-01 22:55:22 +08:00
2026-04-04 12:46:56 +00:00
2026-03-26 03:37:14 +08:00
2026-03-25 06:29:07 +08:00
2026-04-01 19:28:42 +08:00
2026-03-28 20:28:22 +08:00
2026-04-04 18:00:35 +00:00
2026-03-20 14:55:16 +00:00
2026-04-04 18:00:35 +00:00
2026-03-25 01:15:39 +08:00
2026-04-04 18:00:35 +00:00

monok8s

An Alpine-based Kubernetes cluster image for Mono's Gateway Development Kit

https://docs.mono.si/gateway-development-kit/getting-started

Features

  • A/B deployment
  • Read-only RootFS
  • k8s style OS upgrade (see Upgrading)

IMPORTANT NOTES

  • This is not your everyday linux image! It is best suited for users that is already familiar with k8s. For first-timers, you may want to try the default config that gives you a ready-to-used cluster then get yourself started from there

  • The 3 RJ45 ports are label in eth1, eth2, eth0 respectively by the kernel (left to right) So ip addr eth0 is your right most port

Table of Contents

  1. Flashing
  2. Upgrading
  3. Getting shell access to the host

Build

Find the latest package versions and update build.env

Then run

make release

The default configuration will boot as a first time control-plane. Adjust to your own needs.

For control-plane

make cluster-config \
  MKS_HOSTNAME=monok8s-master \
  MKS_CLUSTER_ROLE=control-plane \
  MKS_INIT_CONTROL_PLANE=true \
  MKS_MGMT_ADDRESS=10.0.0.10/24 \
  MKS_APISERVER_ADVERTISE_ADDRESS=10.0.0.10

For worker

make cluster-config \
  MKS_HOSTNAME=monok8s-worker \
  MKS_CLUSTER_ROLE=worker \
  MKS_INIT_CONTROL_PLANE=no \
  MKS_MGMT_ADDRESS=10.0.0.10/24 \
  MKS_APISERVER_ADVERTISE_ADDRESS=10.0.0.10 \
  MKS_API_SERVER_ENDPOINT=10.0.0.1:6443 \
  MKS_CNI_PLUGIN=none \
  MKS_BOOTSTRAP_TOKEN=abcd12.ef3456789abcdef0 \
  MKS_DISCOVERY_TOKEN_CA_CERT_HASH=sha256:9f1c2b3a4d5e6f7890abc1234567890abcdef1234567890abcdef1234567890ab

Check inside configs/cluster.env.default for configuration details

Making sub stages

make build-base # The image that builds the kernel and everything
make kernel     # Builds our kernel from NXP
make initramfs
make itb        # Builds out/board.itb (contains the kernel and the initramfs)

NOTES

The device's dts files are located at here

https://github.com/we-are-mono/OpenWRT-ASK/tree/mono-25.12.0-rc3/target/linux/layerscape/files/arch/arm64/boot/dts/freescale

  • We need both mono-gateway-dk-sdk.dts and mono-gateway-dk.dts since the sdk one includes the non-sdk one.
  • The actual dts being used is the mono-gateway-dk-sdk.dts

DISCLAIMER

USE AT YOUR OWN RISKS. I leverage ChatGPT heavily for this.

Description
Kubernetes image for Mono Gateway Development Kit https://docs.mono.si/gateway-development-kit/getting-started
Readme MIT 681 KiB
Languages
Go 72.5%
Shell 19.5%
Makefile 4.6%
Dockerfile 3.4%