core/scripts/01_install_traefik.sh

31 lines
1,012 B
Bash
Raw Normal View History

#!/bin/bash
set -e
# This script installs Traefik using Helm, with MetalLB load balancer configuration.
# Ensure you pass the IP from the MetalLB pool as an argument when running the script.
# Check if an argument (IP address) is provided
if [ -z "$1" ]; then
echo "Error: Missing argument for the MetalLB IP."
echo "Usage: $0 <METALLB_IP>"
echo "Please provide an IP address from the MetalLB pool as a parameter."
exit 1
fi
METALLB_IP=$1
# Adding the Traefik Helm repo
helm repo add traefik https://traefik.github.io/charts
helm repo update
# Creating the Traefik namespace
kubectl create namespace traefik || true
# Uncomment the line below to enable privileged pod security policy for the namespace
kubectl label namespace traefik pod-security.kubernetes.io/enforce=privileged
# Installing Traefik with the MetalLB IP specified
helm install traefik traefik/traefik --namespace traefik -f helm-values/traefik.yaml \
--set service.type=LoadBalancer \
--set service.loadBalancerIP=$METALLB_IP