24 lines
527 B
Bash
24 lines
527 B
Bash
|
#!/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!"
|