24 lines
527 B
Bash
Executable File
24 lines
527 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
usage () {
|
|
echo "usage: $0 ip"
|
|
exit 1
|
|
}
|
|
|
|
[[ $# -eq 1 ]] || usage
|
|
ip="$1"
|
|
|
|
cd "$(dirname $0)"
|
|
|
|
sed "s!<IP>!${ip}!" ./metallb.yaml.template > ./metallb.yaml
|
|
|
|
echo "Configuring metallb..."
|
|
kubectl apply -f ./metallb.yaml
|
|
echo "Configuring services..."
|
|
for i in ./svc-*.yaml; do
|
|
svc="$(grep -Po "name: \Kpdp-.*$" "$i")"
|
|
kubectl patch svc "$svc" -p '{"metadata":{"annotations":{"metallb.universe.tf/allow-shared-ip":"'"$ip"'"}},"spec":{"type": "LoadBalancer","loadBalancerIP":"'"$ip"'"}}'
|
|
done
|
|
echo "Done!"
|