diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-04-07 16:05:39 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-04-07 16:05:39 +0000 |
| commit | d138800d7925a007fc61366bb20a3c90412a45c6 (patch) | |
| tree | d3efabf18f940d8dfade096c40eab97dcdbd99f4 /recipes-core | |
| parent | d1a4f655e390c76402c416714607bc3b3b85ac2f (diff) | |
| download | meta-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.bb | 3 |
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 = " \ | |||
| 40 | RDEPENDS:packagegroup-k3s-host = " \ | 40 | RDEPENDS: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 | ||
| 46 | RDEPENDS:packagegroup-k3s-node = " \ | 48 | RDEPENDS: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 | " |
