Commit Graph

3 Commits (0e6cc4882ddde5a74fdbe9974a75690177f0d3c3)

Author SHA1 Message Date
Dustin 0e168e0294 kubernetes: Prepare k8s control plane nodes
The `kubernetes.yml` playbook now applies the _kubelet_ role to hosts in
the _k8s-controller_ group.  This will prepare them to join the cluster
as control plane nodes, but will not actually add them to the cluster.
2025-07-22 15:28:42 -05:00
Dustin 1bf6ae6d3c kubernetes: Disable become for delegated task
We do not need "become" for the Kubernetes resource manipulation task
that runs on the control machine.
2025-07-14 16:19:33 -05:00
Dustin 0f600b9e6e kubernetes: Manage worker nodes
So far, I have been managing Kubernetes worker nodes with Fedora CoreOS
Ignition, but I have decided to move everything back to Fedora and
Ansible.  I like the idea of an immutable operating system, but the FCOS
implementation is not really what I want.  I like the automated updates,
but that can be accomplished with _dnf-automatic_.  I do _not_ like
giving up control of when to upgrade to the next Fedora release.
Mostly, I never did come up with a good way to manage application-level
configuration on FCOS machines.  None of my experiments (Cue+tmpl,
KCL+etcd+Luci) were successful, which mostly resulted in my manually
managing configuration on nodes individually.  Managing OS-level
configuration is also rather cumbersome, since it requires redeploying
the machine entirely.  Altogether, I just don't think FCOS fits with my
model of managing systems.

This commit introduces a new playbook, `kubernetes.yml`, and a handful of
new roles to manage Kubernetes worker nodes running Fedora Linux.  It
also adds two new deploy scripts, `k8s-worker.sh` and `k8s-longhorn.sh`,
which fully automate the process of bringing up worker nodes.
2024-11-24 10:33:21 -06:00