summaryrefslogtreecommitdiffstats
path: root/recipes-core
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2026-04-07 16:05:39 +0000
committerBruce Ashfield <bruce.ashfield@gmail.com>2026-04-07 16:05:39 +0000
commitd138800d7925a007fc61366bb20a3c90412a45c6 (patch)
treed3efabf18f940d8dfade096c40eab97dcdbd99f4 /recipes-core
parentd1a4f655e390c76402c416714607bc3b3b85ac2f (diff)
downloadmeta-virtualization-d138800d7925a007fc61366bb20a3c90412a45c6.tar.gz
k3s: add multi-node cluster support with role-based boot
Add infrastructure for booting the same container-image-host image as either a k3s server or agent, controlled via kernel cmdline parameters (k3s.role=server|agent). k3s-role-setup.service / k3s-role-setup.sh: - Reads k3s.role, k3s.server, k3s.token, k3s.node-name, k3s.node-ip, k3s.iface from kernel cmdline - Configures cluster network interface IP via networkd drop-in - For agent role: masks k3s.service, writes agent environment file, starts k3s-agent.service - For server role: masks k3s-agent.service (default) 10-k3s-cluster.network: - Claims the cluster interface (eth1) via virt_networking bbclass - Disables DHCP to prevent systemd-networkd from interfering - Static IP added at boot by role-setup via drop-in k3s-get-token.sh: - Helper script to display the server join token - Waits for token file if k3s is still starting k3s-agent.service: - Add EnvironmentFile for /etc/default/k3s-agent (K3S_URL, K3S_TOKEN) - Add After=k3s-role-setup.service and network-online.target k3s.service: - Add After=k3s-role-setup.service packagegroup-kubernetes.bb: - k3s-host packagegroup now includes k3s-agent (both roles available) - Both k3s-host and k3s-node include k3s-net-conf Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/packagegroups/packagegroup-kubernetes.bb3
1 files changed, 3 insertions, 0 deletions
diff --git a/recipes-core/packagegroups/packagegroup-kubernetes.bb b/recipes-core/packagegroups/packagegroup-kubernetes.bb
index e06b1cb4..015732c7 100644
--- a/recipes-core/packagegroups/packagegroup-kubernetes.bb
+++ b/recipes-core/packagegroups/packagegroup-kubernetes.bb
@@ -40,11 +40,14 @@ RDEPENDS:packagegroup-k8s-node = " \
40RDEPENDS:packagegroup-k3s-host = " \ 40RDEPENDS:packagegroup-k3s-host = " \
41 packagegroup-kubernetes-base \ 41 packagegroup-kubernetes-base \
42 k3s-server \ 42 k3s-server \
43 k3s-agent \
44 k3s-net-conf \
43 k3s-cni \ 45 k3s-cni \
44" 46"
45 47
46RDEPENDS:packagegroup-k3s-node = " \ 48RDEPENDS:packagegroup-k3s-node = " \
47 packagegroup-kubernetes-base \ 49 packagegroup-kubernetes-base \
48 k3s-agent \ 50 k3s-agent \
51 k3s-net-conf \
49 k3s-cni \ 52 k3s-cni \
50" 53"