core/scripts/01_install_traefik.sh
Guillaume B.B. Van Hemmen 6bf8d75310 #0000 - Add scripts and configurations for Kubernetes cluster setup
This commit includes Helm-based installation scripts for MetalLB, Traefik, Cert-Manager, and External DNS, along with their necessary configurations. Updates to cert-manager YAML ensure production-ready naming and namespace adjustments. These changes aim to streamline the deployment and management of Kubernetes services with simplified automation.
2024-12-19 17:18:36 +01:00

30 lines
977 B
Bash

#!/bin/bash
set -ex
# 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
# 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 \
--set service.type=LoadBalancer \
--set service.loadBalancerIP=$METALLB_IP