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.
20 lines
304 B
Bash
20 lines
304 B
Bash
#!/bin/sh
|
|
# vim: set ts=4 :
|
|
|
|
eval $(ssh-agent)
|
|
trap 'ssh-agent -k' INT TERM QUIT EXIT
|
|
|
|
set -a
|
|
. ./.env
|
|
SSHCA_SERVER=https://sshca.pyrocufflink.blue
|
|
set +a
|
|
|
|
virsh uri || exit
|
|
rbw unlock || exit
|
|
sshca-cli user login || exit
|
|
kubectl get node > /dev/null || exit
|
|
|
|
script=deploy/"${1}".sh
|
|
shift
|
|
. "${script}"
|