48 lines
935 B
Bash
48 lines
935 B
Bash
#!/bin/sh
|
|
# vim: set ts=4 sw=4 noet :
|
|
|
|
name=${1:-node-$(diceware -n1 --no-caps)}
|
|
hostname=${name}.k8s.pyrocufflink.black
|
|
|
|
if ! virsh list --all --name | grep -qF ${name}; then
|
|
./newvm.sh ${name} \
|
|
--domain k8s.pyrocufflink.black \
|
|
--fedora 40 \
|
|
--memory 16384 \
|
|
--vcpus 8 \
|
|
--no-console \
|
|
--network network=kube \
|
|
-- \
|
|
--network network=storage \
|
|
--disk pool=default,size=32,cache=none \
|
|
--disk pool=default,size=32,cache=none \
|
|
|| exit
|
|
sleep 15
|
|
fi
|
|
|
|
if ! grep -q "${hostname}" hosts; then
|
|
sed -i '/\[k8s-node\]/a'"${hostname}" hosts
|
|
fi
|
|
|
|
ansible-playbook \
|
|
-l ${hostname} \
|
|
wait-for-host.yml \
|
|
|| exit
|
|
|
|
printf 'Waiting for SSH host certificate to be signed ... '
|
|
until ssh-keyscan -c ${hostname} 2>/dev/null | grep -q cert; do
|
|
sleep 1 || exit
|
|
done
|
|
echo done
|
|
|
|
ansible-playbook \
|
|
-l ${hostname} \
|
|
bootstrap.yml \
|
|
datavol.yml \
|
|
users.yml \
|
|
kubernetes.yml \
|
|
collectd.yml \
|
|
btop.yml \
|
|
-u root \
|
|
|| exit
|