Compare commits
5 commits
d271b24685
...
27f1df27a8
Author | SHA1 | Date | |
---|---|---|---|
27f1df27a8 | |||
02ad42a186 | |||
6e543dbe6e | |||
5e81dc3eba | |||
58986afe32 |
10 changed files with 90 additions and 14 deletions
43
helm-values/cert-manager.yaml
Normal file
43
helm-values/cert-manager.yaml
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Global settings for nodeSelector and tolerations
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# startupapicheck specific settings
|
||||
startupapicheck:
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# Cainjector specific settings
|
||||
cainjector:
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
||||
|
||||
# Webhook specific settings
|
||||
webhook:
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
8
helm-values/external-dns.yaml
Normal file
8
helm-values/external-dns.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
19
helm-values/metallb.yaml
Normal file
19
helm-values/metallb.yaml
Normal file
|
@ -0,0 +1,19 @@
|
|||
controller:
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
||||
|
||||
speaker:
|
||||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
8
helm-values/traefik.yaml
Normal file
8
helm-values/traefik.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
nodeSelector:
|
||||
com.van-hemmen.role: gateway
|
||||
com.van-hemmen.hosting: ovh
|
||||
tolerations:
|
||||
- key: "com.van-hemmen.role"
|
||||
operator: "Equal"
|
||||
value: "gateway"
|
||||
effect: "NoSchedule"
|
|
@ -5,8 +5,6 @@ metadata:
|
|||
namespace: metallb-system
|
||||
spec:
|
||||
addresses:
|
||||
- 5.196.149.159/32
|
||||
- 5.196.149.200/32
|
||||
- 5.196.149.203/32
|
||||
---
|
||||
apiVersion: metallb.io/v1beta1
|
6
scripts/00_install_metalLB.sh
Normal file → Executable file
6
scripts/00_install_metalLB.sh
Normal file → Executable file
|
@ -1,11 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
|
||||
helm repo add metallb https://metallb.github.io/metallb
|
||||
helm repo update
|
||||
|
||||
kubectl create namespace metallb-system
|
||||
kubectl create namespace metallb-system || true
|
||||
kubectl label namespace metallb-system pod-security.kubernetes.io/enforce=privileged
|
||||
|
||||
helm install metallb metallb/metallb --namespace metallb-system
|
||||
helm install metallb metallb/metallb --namespace metallb-system -f ./helm-values/metallb.yaml
|
||||
|
|
6
scripts/01_install_traefik.sh
Normal file → Executable file
6
scripts/01_install_traefik.sh
Normal file → Executable file
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
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.
|
||||
|
@ -20,11 +20,11 @@ helm repo add traefik https://traefik.github.io/charts
|
|||
helm repo update
|
||||
|
||||
# Creating the Traefik namespace
|
||||
kubectl create namespace traefik
|
||||
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 \
|
||||
helm install traefik traefik/traefik --namespace traefik -f helm-values/traefik.yaml \
|
||||
--set service.type=LoadBalancer \
|
||||
--set service.loadBalancerIP=$METALLB_IP
|
||||
|
|
6
scripts/03_install_cert_manager.sh → scripts/02_install_cert_manager.sh
Normal file → Executable file
6
scripts/03_install_cert_manager.sh → scripts/02_install_cert_manager.sh
Normal file → Executable file
|
@ -1,11 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
|
||||
helm repo add jetstack https://charts.jetstack.io
|
||||
helm repo update
|
||||
|
||||
kubectl create namespace cert-manager
|
||||
kubectl create namespace cert-manager || true
|
||||
|
||||
helm install cert-manager jetstack/cert-manager --namespace cert-manager \
|
||||
helm install cert-manager jetstack/cert-manager --namespace cert-manager -f helm-values/cert-manager.yaml \
|
||||
--set installCRDs=true
|
6
scripts/04_install_external_dns.sh
Normal file → Executable file
6
scripts/04_install_external_dns.sh
Normal file → Executable file
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
|
||||
# Check if the Cloudflare API token is provided as an argument
|
||||
if [ -z "$1" ]; then
|
||||
|
@ -17,10 +17,10 @@ helm repo add bitnami https://charts.bitnami.com/bitnami
|
|||
helm repo update
|
||||
|
||||
# Create the namespace for external DNS
|
||||
kubectl create namespace external-dns
|
||||
kubectl create namespace external-dns || true
|
||||
|
||||
# Install the external-dns chart with the provided Cloudflare API token
|
||||
helm install external-dns bitnami/external-dns --namespace external-dns \
|
||||
helm install external-dns bitnami/external-dns --namespace external-dns -f helm-values/external-dns.yaml \
|
||||
--set provider=cloudflare \
|
||||
--set cloudflare.apiToken="$CLOUDFLARE_API_TOKEN" \
|
||||
--set txtOwnerId=external-dns
|
||||
|
|
Loading…
Reference in a new issue