Globby is a custom ucore image which automatically builds in k3s with a Headlamp dashboard for running home Kubernetes clusters.
It is named Globby because I am bad at naming things. It is stupidly work in progress!
A lot of the initial work for this is inspired by guiso.
- Basic functionality
- Better integration with ucore features?
- Automatic worker joining over PXE
- (Very far away) Site to auto-generate installation files.
- HA etcd support
- Better Nvidia support
Currently, both the main and sub images ship an nvidia-device-plugin manifest. Although this will automatically deploy the manifest on the main image, this does not occur for sub (which runs in agent mode). This is an oversight and will require refactoring to fix.
If you have a server node without an Nvidia card but an agent node with an Nvidia card, you will need to manually deploy the nvidia-device-plugin from the server.
Agent joining is handled via environmental variables in /etc/rancher/k3s/k3s.env. You can set this through your Butane file as follows (which can also be seen in sub.butane in the examples directory):
variant: fcos
version: 1.6.0
storage:
files:
- path: /etc/rancher/k3s/k3s.env
mode: 0600
contents:
inline: |
K3S_URL=https://YOUR_SERVER_IP_HERE:6443
K3S_TOKEN=YOUR_NODE_TOKEN_HEREWarning
This is an experimental feature, try at your own discretion.
You can auto-rebase with Butane; an example is provided in the examples directory.
To rebase an existing atomic Fedora installation to the latest build:
- First rebase to the unsigned image, to get the proper signing keys and policies installed:
# Or any variant rpm-ostree rebase ostree-unverified-registry:ghcr.io/polyjitter/globby-main:latest - Reboot to complete the rebase:
systemctl reboot
- Then rebase to the signed image, like so:
# Or any variant rpm-ostree rebase ostree-image-signed:docker://ghcr.io/polyjitter/globby-main:latest - Reboot again to complete the installation
systemctl reboot
The latest tag will automatically point to the latest build. That build will still always use the Fedora version specified in recipe.yml, so you won't get accidentally updated to the next major version.
If build on Fedora Atomic, you can generate an offline ISO with the instructions available here. These ISOs cannot unfortunately be distributed on GitHub for free due to large sizes, so for public projects something else has to be used for hosting.
These images are signed with Sigstore's cosign. You can verify the signature by downloading the cosign.pub file from this repo and running the following command:
cosign verify --key cosign.pub ghcr.io/polyjitter/globby