core/scripts/01_install_traefik.sh
Guillaume B.B. Van Hemmen 6e543dbe6e #0000 - Add custom node selectors and tolerations for Traefik deployment
This commit introduces a Helm values file for Traefik to define node selectors and tolerations for targeting specific nodes. The installation script is updated to use the new values file, allowing more precise scheduling of Traefik pods. Additionally, a safeguard is added to namespace creation to prevent errors if it already exists.
2024-12-27 13:52:01 +01:00

30 lines
1,012 B
Bash
Executable file

#!/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