Guillaume B.B. Van Hemmen
6e543dbe6e
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.
30 lines
1,012 B
Bash
Executable file
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
|