Guillaume B.B. Van Hemmen
6bf8d75310
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.
30 lines
977 B
Bash
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
|