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 https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml
```shell ```shell
kubectl apply -f infra/metallb/00-manifest.yml kubectl apply -k infra/metallb
```
## Configure MetalLB
```shell
kubectl apply -f infra/metallb/01-configuration.yml
``` ```
# Traefik # Traefik

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -11,7 +11,7 @@ spec:
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
storageClassName: plex-config storageClassName: plex-config
local: local:
path: "/mnt/sdb1/homelab/config/plex" path: "/disk/etc/plex"
nodeAffinity: nodeAffinity:
required: required:
nodeSelectorTerms: nodeSelectorTerms:
@@ -27,14 +27,14 @@ metadata:
name: media-data-pv name: media-data-pv
spec: spec:
capacity: capacity:
storage: 1.8Ti storage: 11Ti
volumeMode: Filesystem volumeMode: Filesystem
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
storageClassName: media-data storageClassName: media-data
local: local:
path: "/mnt/sdb1/data" path: "/disk/data"
nodeAffinity: nodeAffinity:
required: required:
nodeSelectorTerms: 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 namespace: metallb-system
spec: spec:
addresses: addresses:
- 192.168.1.240-192.168.1.250 - 192.168.1.128/25
--- ---
# Advertise # 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

70
main.tf
View File

@@ -61,7 +61,7 @@ resource "kubernetes_persistent_volume" "traefik-cert-pv" {
storage_class_name = "cert-storage" storage_class_name = "cert-storage"
persistent_volume_source { persistent_volume_source {
local { local {
path = "/mnt/sdb1/terrakube/certs" path = "/disk/etc/traefik/certs"
} }
} }
node_affinity { node_affinity {
@@ -70,7 +70,7 @@ resource "kubernetes_persistent_volume" "traefik-cert-pv" {
match_expressions { match_expressions {
key = "kubernetes.io/hostname" key = "kubernetes.io/hostname"
operator = "In" operator = "In"
values = ["ratatoskr"] values = ["gauss"]
} }
} }
} }
@@ -89,69 +89,3 @@ resource "helm_release" "traefik" {
values = [file("helm/traefik-values.yaml")] 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")]
#}