Go to file
2026-04-08 01:12:49 +08:00
2026-04-09 21:30:12 +08:00
2026-04-06 02:20:41 +08:00
2026-04-09 21:30:12 +08:00
2026-04-08 21:13:21 +08:00
2026-04-08 21:13:21 +08:00
2026-04-06 02:20:41 +08:00
2026-03-25 06:29:07 +08:00
2026-04-09 21:30:12 +08:00
2026-04-01 19:28:42 +08:00
2026-03-28 20:28:22 +08:00
2026-04-09 21:30:12 +08:00
2026-03-20 14:55:16 +00:00
2026-04-09 21:30:12 +08:00
2026-03-25 01:15:39 +08: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)

DISCLAIMER

  • 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-use cluster and get yourself started from there

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

Table of Contents

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

Build

Prerequisites

  • make
  • Docker
  • curl (downloading dependency packages, kubelet, crio, etc)
  • go (building clitools, control-agent)
  • git (cloning uboot repo because uboot does not provide direct downloads)
make release

The default configuration will boot as a first time control-plane.

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)
Description
Kubernetes image for Mono Gateway Development Kit https://docs.mono.si/gateway-development-kit/getting-started
Readme MIT 1,005 KiB
Languages
Go 67.7%
Shell 17.3%
Dockerfile 9.9%
Makefile 5.1%