initial infrastructure

This commit is contained in:
Steffen Illium 2024-03-25 19:13:12 +01:00
parent a8fdd46ce5
commit aa1e205c66
5 changed files with 46 additions and 5 deletions

View File

@ -1,5 +0,0 @@
# kustomization.yml
namespace: metallb-system
resources:
- github.com/metallb/metallb/config/native?ref=v0.14.3

View File

@ -0,0 +1,11 @@
#! /bin/bash
# Install MetalLB and configure ip ranges (local homelab)
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.3/config/manifests/metallb-native.yaml
-f ./01-metallb-pool.yml
-f ./01-metallb-advert.yml
# Install argoCD for deployment and secret management
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

View File

@ -0,0 +1,5 @@
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: sirnix-advert
namespace: metallb-system

View File

@ -0,0 +1,8 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: my-pool
namespace: metallb-system
spec:
addresses:
- 192.168.178.101-192.168.178.255

View File

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server
namespace: argocd
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: "websecure,web"
spec:
ingressClassName: traefik
rules:
- host: argocd.steffenillium.de
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 80