feat(config): Config changes after switching to Debian

This commit is contained in:
Vegard Hagen
2022-12-03 20:41:33 +01:00
parent 555c751a5e
commit e3423cd547
19 changed files with 41 additions and 1925 deletions

View File

@@ -39,13 +39,7 @@ cilium install
https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml
```shell
kubectl apply -f infra/metallb/00-manifest.yml
```
## Configure MetalLB
```shell
kubectl apply -f infra/metallb/01-configuration.yml
kubectl apply -k infra/metallb
```
# Traefik

View File

@@ -148,7 +148,7 @@ A test-application `whoami` should be available at `https://whoami.${DOMAIN}`.
# Cleanup
```shell
kubectl drain ratatoskr --delete-emptydir-data --force --ignore-daemonsets
kubectl drain gauss --delete-emptydir-data --force --ignore-daemonsets
sudo kubeadm reset
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
sudo ipvsadm -C

View File

@@ -6,7 +6,7 @@ resources:
- namespace.yaml
- ingress.yaml
- traefik-forward-auth
- qbittorrent
- torrent
- prowlarr
- sonarr
- radarr

View File

@@ -12,10 +12,10 @@ spec:
volumes:
- name: lidarr-config
hostPath:
path: "/mnt/sdb1/homelab/config/lidarr"
path: "/disk/etc/lidarr"
- name: media-data
hostPath:
path: "/mnt/sdb1/data"
path: "/disk/data"
containers:
- name: lidarr
image: lscr.io/linuxserver/lidarr

View File

@@ -12,7 +12,7 @@ spec:
volumes:
- name: prowlarr-config
hostPath:
path: "/mnt/sdb1/homelab/config/prowlarr"
path: "/disk/etc/prowlarr"
containers:
- name: prowlarr
image: lscr.io/linuxserver/prowlarr:develop

View File

@@ -12,10 +12,10 @@ spec:
volumes:
- name: radarr-config
hostPath:
path: "/mnt/sdb1/homelab/config/radarr"
path: "/disk/etc/radarr"
- name: media-data
hostPath:
path: "/mnt/sdb1/data"
path: "/disk/data"
containers:
- name: radarr
image: lscr.io/linuxserver/radarr

View File

@@ -12,10 +12,10 @@ spec:
volumes:
- name: sonarr-config
hostPath:
path: "/mnt/sdb1/homelab/config/sonarr"
path: "/disk/etc/sonarr"
- name: media-data
hostPath:
path: "/mnt/sdb1/data"
path: "/disk/data"
containers:
- name: sonarr
image: lscr.io/linuxserver/sonarr

View File

@@ -12,13 +12,13 @@ spec:
volumes:
- name: qbittorrent-config
hostPath:
path: "/mnt/sdb1/homelab/config/qbittorrent"
path: "/disk/etc/qbittorrent"
- name: media-data
hostPath:
path: "/mnt/sdb1/data"
path: "/disk/data"
containers:
- name: qbittorrent
image: lscr.io/linuxserver/qbittorrent:14.3.9.99202110311443-7435-01519b5e7ubuntu20.04.1-ls166
image: cr.hotio.dev/hotio/qbittorrent:legacy
volumeMounts:
- mountPath: "/config"
name: qbittorrent-config
@@ -29,13 +29,15 @@ spec:
value: "1000"
- name: PGID
value: "1000"
- name: UMASK
value: "002"
- name: TZ
value: Europe/Oslo
- name: WEBUI_PORT
value: "8112"
value: "8080"
ports:
- name: web
containerPort: 8112
containerPort: 8080
- containerPort: 11010
protocol: TCP
- containerPort: 11011

View File

@@ -7,6 +7,7 @@ spec:
ports:
- name: web
port: 8112
targetPort: 8080
- name: a
port: 11010
protocol: TCP

View File

@@ -12,7 +12,7 @@ spec:
volumes:
- name: home-assistant-config
hostPath:
path: "/mnt/sdb1/config/home-assistant"
path: "/disk/etc/home-assistant"
containers:
- image: homeassistant/home-assistant
imagePullPolicy: Always

View File

@@ -12,10 +12,10 @@ spec:
volumes:
- name: plex-config
hostPath:
path: "/mnt/sdb1/homelab/config/plex"
path: "/disk/etc/plex"
- name: media-data
hostPath:
path: "/mnt/sdb1/data"
path: "/disk/data"
#- name: plex-config-pv
# persistentVolumeClaim:
# claimName: plex-config

View File

@@ -11,7 +11,7 @@ spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: plex-config
local:
path: "/mnt/sdb1/homelab/config/plex"
path: "/disk/etc/plex"
nodeAffinity:
required:
nodeSelectorTerms:
@@ -27,14 +27,14 @@ metadata:
name: media-data-pv
spec:
capacity:
storage: 1.8Ti
storage: 11Ti
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: media-data
local:
path: "/mnt/sdb1/data"
path: "/disk/data"
nodeAffinity:
required:
nodeSelectorTerms:

5
infra/kustomization.yaml Normal file
View File

@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- metallb

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ metadata:
namespace: metallb-system
spec:
addresses:
- 192.168.1.240-192.168.1.250
- 192.168.1.128/25
---
# Advertise

View File

@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: metallb-system
resources:
- github.com/metallb/metallb/config/native?ref=v0.13.7
- configuration.yml

View File

@@ -1,29 +0,0 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: cert-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: traefik-cert-pv
spec:
capacity:
storage: 128Mi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: cert-storage
local:
path: "/mnt/sdb1/terrakube/certs"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- ratatoskr

72
main.tf
View File

@@ -61,7 +61,7 @@ resource "kubernetes_persistent_volume" "traefik-cert-pv" {
storage_class_name = "cert-storage"
persistent_volume_source {
local {
path = "/mnt/sdb1/terrakube/certs"
path = "/disk/etc/traefik/certs"
}
}
node_affinity {
@@ -70,7 +70,7 @@ resource "kubernetes_persistent_volume" "traefik-cert-pv" {
match_expressions {
key = "kubernetes.io/hostname"
operator = "In"
values = ["ratatoskr"]
values = ["gauss"]
}
}
}
@@ -88,70 +88,4 @@ resource "helm_release" "traefik" {
#version = "10.30.1"
values = [file("helm/traefik-values.yaml")]
}
resource "kubernetes_namespace" "test" {
metadata {
name = "test"
}
}
resource "kubernetes_service" "test" {
metadata {
name = "test"
namespace = kubernetes_namespace.test.metadata.0.name
}
spec {
selector = {
app = kubernetes_deployment.test.spec.0.template.0.metadata.0.labels.app
}
type = "LoadBalancer"
port {
protocol = "TCP"
name = "web"
port = 80
}
}
}
resource "kubernetes_deployment" "test" {
metadata {
name = "test"
namespace = kubernetes_namespace.test.metadata.0.name
}
spec {
replicas = "2"
selector {
match_labels = {
app = "test"
}
}
template {
metadata {
labels = {
app = "test"
}
}
spec {
container {
name = "test"
image = "traefik/whoami"
port {
name = "web"
container_port = 80
}
}
}
}
}
}
#resource "helm_release" "whoami" {
# name = "whoami"
# repository = "https://charts.itscontained.io"
# chart = "raw"
# version = "0.2.5"
#
# values = [file("helm/whoami-values.yaml")]
#}
}