En este directorio tenemos diferentes archivos que debemos entender cómo leer según su extensión:
- Archivos
.yml
: planes de kcli - Archivos
.ign
: ignition files. Se generan con elMakefile
provisto, usando make. Necesita el comandobutane
que en realidad se corre usando podman. En todo caso cambiar el alias en el Makefile - Archivos
.bu
butane files. Son YAML que se usan para generar lso ignition files de forma más simple usando el comando butane. ElMakefile
simplifica su generación.
Simplemente se corre el comando make
dentro de ésta carpeta. Para que
funcione, se requiere contar con ese comando, así como el usado por él. En este
caso podman, que define un alias para lo que sería butane.
Al correrlo, deberán aparecer los archivos con el mismo nombre que .bu
pero
con extensión .ign
. No versionamos los ignition files porque dependen de cada
prueba.
La forma más simple es usando la cli de kcli. Para ello, crearemos un plan con el nombre de cada prueba.
Se provee el archivo llamado k3s-with-selinux.yml
que define lo que sería la
vm del nodo server. Esta vm tomará la configuración del archivo .ign
con igual
nombre.
kcli create plan k3s-with-selinux -f k3s-with-selinux.yml
Creará la vm
Para destruirla:
kcli delete plan k3s-with-selinux
Los agentes, son similares al server. Solamente difieren en que el servicio que inician corresponde a un nodo y no un server. Sin embargo, para que se unan al cluster, necesitamos setear en el agente una serie de datos que se obtienen del server:
- La URL del servidor
- El token para que un nodo se una al cluster
Nos conectamos entonces al server y obtenemos los datos que necesitamos. Primero el token:
kcli ssh k3s-with-selinux sudo cat /var/lib/rancher/k3s/server/token
# Debe devolver algo como K10c3451b9404911d97b3688fcd6a70aa21ca3412330ed20ed688efcfdc433cb86b
La ip del nodo, podemos obtenerla usando: kcli
kcli show vm k3s-with-selinux -f ip
# Devuelve algo como: ip: 192.168.60.126
Entonces, asumiendo las salidas antes comentadas, tomamos como modelo el archivo
ignition-assets/agent.yaml.tpl
y lo copiamos en
ignition-assets/agent.yaml
con los datos correctos.
Luego podemos iniciar el/los nuevos nodos agentes usando:
kcli create plan k3s-nodes -f k3s-nodes.yml