Compare commits
56
Commits
ceaedd01f0
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a0a848574 | ||
|
|
a1c7c55af6 | ||
|
|
d0e0d6293f | ||
|
|
dfdb9e265b | ||
|
|
6d5cca04d3 | ||
|
|
7a8f059904 | ||
|
|
95307eeb7a | ||
|
|
d97cd9ca52 | ||
|
|
e38ff7ed9b | ||
|
|
cb33f63ea7 | ||
|
|
8f9c504515 | ||
|
|
310f4e00f9 | ||
|
|
0c5013f156 | ||
|
|
d1b0538bde | ||
|
|
185bf16546 | ||
|
|
e4ca046a13 | ||
|
|
97e4e31486 | ||
|
|
6362d19578 | ||
|
|
b600dfc111 | ||
|
|
1802482f3e | ||
|
|
e1e6f5161d | ||
|
|
37d2be6e27 | ||
|
|
82c2e4d0ec | ||
|
|
d050ee16e1 | ||
|
|
a3e9f3e00a | ||
|
|
002f832321 | ||
|
|
6dfbd9224f | ||
|
|
85982571dd | ||
|
|
f973579c3c | ||
|
|
e1bb9ddda6 | ||
|
|
63591efc8f | ||
|
|
213428cefe | ||
|
|
01b9d5f5d0 | ||
|
|
74bad5e4d5 | ||
|
|
89a7646085 | ||
|
|
da816bbf14 | ||
|
|
e009a6ed81 | ||
|
|
fd497b9506 | ||
|
|
57754701a5 | ||
|
|
d0fdf629b1 | ||
|
|
937efd2a6b | ||
|
|
b869bebfa7 | ||
|
|
e4e9250584 | ||
|
|
23ae073088 | ||
|
|
d96e1ac6c7 | ||
|
|
a8359a6f12 | ||
|
|
8a7bdc9fce | ||
|
|
cbfc6f76e4 | ||
|
|
2169435000 | ||
|
|
bda2eb66ad | ||
|
|
ee777a7a1f | ||
|
|
63e9fb40a1 | ||
|
|
591afcc617 | ||
|
|
c0d8a1e5f3 | ||
|
|
355def67a0 | ||
|
|
270a3fb329 |
@@ -9,6 +9,7 @@
|
|||||||
"source=${localWorkspaceFolder}/../lms,target=/workspaces/lms,type=bind",
|
"source=${localWorkspaceFolder}/../lms,target=/workspaces/lms,type=bind",
|
||||||
"source=${localWorkspaceFolder}/../homeAssistant,target=/workspaces/homeAssistant,type=bind",
|
"source=${localWorkspaceFolder}/../homeAssistant,target=/workspaces/homeAssistant,type=bind",
|
||||||
"source=${localWorkspaceFolder}/../mosquitto,target=/workspaces/mosquitto,type=bind",
|
"source=${localWorkspaceFolder}/../mosquitto,target=/workspaces/mosquitto,type=bind",
|
||||||
|
"source=${localWorkspaceFolder}/../myLimbo.Jellyfin,target=/workspaces/myLimbo.Jellyfin,type=bind",
|
||||||
"source=${localWorkspaceFolder}/../kb,target=/workspaces/kb,type=bind",
|
"source=${localWorkspaceFolder}/../kb,target=/workspaces/kb,type=bind",
|
||||||
"source=${localWorkspaceFolder}/../pi.bluetooth.speaker,target=/workspaces/pi.bluetooth.speaker,type=bind",
|
"source=${localWorkspaceFolder}/../pi.bluetooth.speaker,target=/workspaces/pi.bluetooth.speaker,type=bind",
|
||||||
"source=${localWorkspaceFolder}/.env.d/kube,target=/home/vscode/.kube,type=bind",
|
"source=${localWorkspaceFolder}/.env.d/kube,target=/home/vscode/.kube,type=bind",
|
||||||
@@ -30,7 +31,8 @@
|
|||||||
"streetsidesoftware.code-spell-checker",
|
"streetsidesoftware.code-spell-checker",
|
||||||
"ms-azuretools.vscode-containers",
|
"ms-azuretools.vscode-containers",
|
||||||
"eamodio.gitlens",
|
"eamodio.gitlens",
|
||||||
"bierner.markdown-preview-github-styles"
|
"bierner.markdown-preview-github-styles",
|
||||||
|
"weaveworks.vscode-gitops-tools"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
``` bash
|
``` bash
|
||||||
kubectl annotate secret casa-limbosolutions-com-tls \
|
kubectl annotate secret casa-limbosolutions-com-tls \
|
||||||
-n casa-limbosolutions-com \
|
-n casa-limbosolutions-com \
|
||||||
replicator.v1.mittwald.de/replicate-to="home-assistant,node-red,lyrionmusicserver"
|
replicator.v1.mittwald.de/replicate-to="home-assistant,node-red,lyrionmusicserver,jellyfin" --overwrite
|
||||||
```
|
```
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
|
|||||||
@@ -14,6 +14,10 @@
|
|||||||
{
|
{
|
||||||
"path": "../mosquitto"
|
"path": "../mosquitto"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Jellyfin",
|
||||||
|
"path": "../myLimbo.Jellyfin"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "kb",
|
"name": "kb",
|
||||||
"path": "../kb"
|
"path": "../kb"
|
||||||
@@ -42,11 +46,13 @@
|
|||||||
"davidanson",
|
"davidanson",
|
||||||
"eamodio",
|
"eamodio",
|
||||||
"envsubst",
|
"envsubst",
|
||||||
|
"kubelet",
|
||||||
"lmscommunity",
|
"lmscommunity",
|
||||||
"localtime",
|
"localtime",
|
||||||
"LOGLEVEL",
|
"LOGLEVEL",
|
||||||
"lyrionmusicserver",
|
"lyrionmusicserver",
|
||||||
"mtxr",
|
"mtxr",
|
||||||
|
"nvme",
|
||||||
"rclone",
|
"rclone",
|
||||||
"reverseproxy",
|
"reverseproxy",
|
||||||
"rogalmic",
|
"rogalmic",
|
||||||
@@ -95,7 +101,22 @@
|
|||||||
"focus": false,
|
"focus": false,
|
||||||
"panel": "shared"
|
"panel": "shared"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Kustomize - Build - Selected File",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "bash -c '[[ \"$(basename ${file})\" == \"kustomization.yaml\" ]] && kubectl kustomize ${fileDirname} || echo \"❌ invalid kustomization.yaml\"'",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"group": "build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Kustomize - Build & Deploy - Selected File",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "bash -c '[[ \"$(basename ${file})\" == \"kustomization.yaml\" ]] && kubectl kustomize ${fileDirname} | kubectl apply -f - || echo \"❌ invalid kustomization.yaml\"'",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"group": "build"
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+26
-4
@@ -13,6 +13,7 @@
|
|||||||
- [minion01 - worker node](#minion01---worker-node)
|
- [minion01 - worker node](#minion01---worker-node)
|
||||||
- [Minion01 - proxmox vm](#minion01---proxmox-vm)
|
- [Minion01 - proxmox vm](#minion01---proxmox-vm)
|
||||||
- [casa-minion-01 - k3s - setup](#casa-minion-01---k3s---setup)
|
- [casa-minion-01 - k3s - setup](#casa-minion-01---k3s---setup)
|
||||||
|
- [fstab](#fstab)
|
||||||
- [casa-mini-minion-01 - worker node](#casa-mini-minion-01---worker-node)
|
- [casa-mini-minion-01 - worker node](#casa-mini-minion-01---worker-node)
|
||||||
- [casa-mini-minion-01 - proxmox vm](#casa-mini-minion-01---proxmox-vm)
|
- [casa-mini-minion-01 - proxmox vm](#casa-mini-minion-01---proxmox-vm)
|
||||||
- [casa-mini-minion-01 - k3s - setup](#casa-mini-minion-01---k3s---setup)
|
- [casa-mini-minion-01 - k3s - setup](#casa-mini-minion-01---k3s---setup)
|
||||||
@@ -186,8 +187,13 @@ EOF
|
|||||||
### casa - control Plane - k3s setup
|
### casa - control Plane - k3s setup
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.36.1+k3s1 sh -
|
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.36.1+k3s1 \
|
||||||
```
|
INSTALL_K3S_EXEC="\
|
||||||
|
--flannel-backend=none \
|
||||||
|
--disable-network-policy \
|
||||||
|
--disable=servicelb" \
|
||||||
|
sh -
|
||||||
|
```
|
||||||
|
|
||||||
**Taint NoSchedule on master node:**
|
**Taint NoSchedule on master node:**
|
||||||
|
|
||||||
@@ -233,6 +239,7 @@ numa: 0
|
|||||||
onboot: 1
|
onboot: 1
|
||||||
ostype: l26
|
ostype: l26
|
||||||
scsi0: fastcore:vm-XXX-disk-0,iothread=1,size=8G,ssd=1
|
scsi0: fastcore:vm-XXX-disk-0,iothread=1,size=8G,ssd=1
|
||||||
|
scsi1: fluxcore:vm-xx-disk-0,iothread=1,size=32G,ssd=1 # used mainly by jellyfin cache
|
||||||
scsi1: fastcore:vm-XXX-disk-2,iothread=1,size=32G,ssd=1 /dataDisk # k3s-data-dir /dataDisk/k3s
|
scsi1: fastcore:vm-XXX-disk-2,iothread=1,size=32G,ssd=1 /dataDisk # k3s-data-dir /dataDisk/k3s
|
||||||
scsihw: virtio-scsi-single
|
scsihw: virtio-scsi-single
|
||||||
smbios1: xxxx-xxxx-xxxx-xxxx-xxxx
|
smbios1: xxxx-xxxx-xxxx-xxxx-xxxx
|
||||||
@@ -255,7 +262,7 @@ sockets: 1
|
|||||||
# cat /var/lib/rancher/k3s/server/node-token
|
# cat /var/lib/rancher/k3s/server/node-token
|
||||||
|
|
||||||
K3S_TOKEN="????"
|
K3S_TOKEN="????"
|
||||||
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.36.1+k3s1 INSTALL_K3S_EXEC="agent --data-dir /dataDisk/k3s --server https://casa.dev.lan:6443 --token ${K3S_TOKEN}" sh -s -
|
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.36.1+k3s1 INSTALL_K3S_EXEC="agent --data-dir /dataDisks/nvme00/k3s --server https://casa.dev.lan:6443 --token ${K3S_TOKEN}" sh -s -
|
||||||
```
|
```
|
||||||
|
|
||||||
Change kubectl -n kube-system edit configmap local-path-config on kube-system to set path to provisioner.
|
Change kubectl -n kube-system edit configmap local-path-config on kube-system to set path to provisioner.
|
||||||
@@ -264,7 +271,6 @@ Change kubectl -n kube-system edit configmap local-path-config on kube-system to
|
|||||||
config.json: |-
|
config.json: |-
|
||||||
{
|
{
|
||||||
"nodePathMap":[
|
"nodePathMap":[
|
||||||
{
|
|
||||||
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
|
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
|
||||||
"paths":["/var/lib/rancher/k3s/storage"]
|
"paths":["/var/lib/rancher/k3s/storage"]
|
||||||
},
|
},
|
||||||
@@ -282,6 +288,22 @@ Change kubectl -n kube-system edit configmap local-path-config on kube-system to
|
|||||||
kubectl label node casa-minion-01 role=worker-node
|
kubectl label node casa-minion-01 role=worker-node
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### fstab
|
||||||
|
|
||||||
|
```bash
|
||||||
|
UUID=xxxx-xxxx-xxxx-xxxx-xxxx / ext4 errors=remount-ro 0 1
|
||||||
|
UUID=xxxx-xxxx-xxxx-xxxx-xxxx /dataDisks/nvme00 ext4 errors=remount-ro 0 1
|
||||||
|
UUID=xxxx-xxxx-xxxx-xxxx-xxxx /dataDisks/nvme01-ephemeral ext4 errors=remount-ro 0 1
|
||||||
|
UUID=xxxx-xxxx-xxxx-xxxx-xxxx /dataDisks/ssd00 ext4 errors=remount-ro 0 1
|
||||||
|
```
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
# setup kubelet pods data to nvme01-ephemeral
|
||||||
|
ln -s /dataDisks/nvme01-ephemeral/kubelet/pods /var/lib/kubelet/pods
|
||||||
|
# setup k3s containerd data to nvme01-ephemeral
|
||||||
|
ln -s /dataDisks/nvme01-ephemeral/k3s/agent/containerd /dataDisks/nvme00/k3s/agent/containerd
|
||||||
|
```
|
||||||
|
|
||||||
## casa-mini-minion-01 - worker node
|
## casa-mini-minion-01 - worker node
|
||||||
|
|
||||||
### casa-mini-minion-01 - proxmox vm
|
### casa-mini-minion-01 - proxmox vm
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
# Cilium
|
||||||
|
|
||||||
|
<oci://quay.io/cilium/charts/cilium>
|
||||||
|
<https://docs.cilium.io/en/stable/helm-reference/#helm-reference>
|
||||||
|
<https://docs.cilium.io/en/stable/installation/k8s-install-helm/>
|
||||||
|
|
||||||
|
## setup and deploy
|
||||||
|
|
||||||
|
Using flux for reconciliation.
|
||||||
|
|
||||||
|
**Restart:**
|
||||||
|
|
||||||
|
Occasionally, Cilium's eBPF maps for L2 announcements can get "stale" after a configuration change (like switching from Local to Cluster). Perform a rolling restart of the Cilium pods to clear the state:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
```
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
POD_NAME=$(kubectl get pod -l 'app.kubernetes.io/name'=cilium-agent -n cilium -o jsonpath='{.items[0].metadata.name}')
|
||||||
|
kubectl exec -n cilium ${POD_NAME} -c cilium-agent -- cilium-dbg status
|
||||||
|
```
|
||||||
|
|
||||||
|
**list load balancers ip pools:**
|
||||||
|
*Required after changes*
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl get CiliumLoadBalancerIPPool -A
|
||||||
|
```
|
||||||
|
|
||||||
|
**Force helm:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
helm repo add cilium https://helm.cilium.io/
|
||||||
|
helm upgrade cilium cilium/cilium \
|
||||||
|
--version 1.19.5 \
|
||||||
|
-f ./deploy/app/helm-values.yaml \
|
||||||
|
--namespace cilium
|
||||||
|
```
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: cilium
|
||||||
|
namespace: cilium
|
||||||
|
spec:
|
||||||
|
releaseName: cilium
|
||||||
|
interval: 1m
|
||||||
|
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: cilium
|
||||||
|
version: 1.19.5
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: cilium
|
||||||
|
namespace: cilium
|
||||||
|
interval: 40h
|
||||||
|
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: cilium-helm-values
|
||||||
|
valuesKey: values.yaml
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: cilium
|
||||||
|
namespace: cilium
|
||||||
|
spec:
|
||||||
|
interval: 40h
|
||||||
|
url: https://helm.cilium.io/
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
kubeProxyReplacement: true
|
||||||
|
installCRDs: true
|
||||||
|
routingMode: native
|
||||||
|
enableIPv4Masquerade: true # required even if using bpf.masquerade: true
|
||||||
|
autoDirectNodeRoutes: true
|
||||||
|
ipv4NativeRoutingCIDR: "10.42.0.0/16"
|
||||||
|
bpf:
|
||||||
|
masquerade: true
|
||||||
|
hostLegacyRouting: false # force use of bfp
|
||||||
|
ipam:
|
||||||
|
operator:
|
||||||
|
clusterPoolIPv4PodCIDR: "10.42.0.0/16"
|
||||||
|
clusterPoolIPv4MaskSize: 24
|
||||||
|
l2announcements:
|
||||||
|
enabled: true
|
||||||
|
loadBalancer:
|
||||||
|
mode: hybrid
|
||||||
|
|
||||||
|
operator:
|
||||||
|
replicas: 1
|
||||||
|
|
||||||
|
|
||||||
|
# fix error="listen tcp :30913: bind: address already in use" in agent
|
||||||
|
nodePort:
|
||||||
|
enableHealthCheck: false
|
||||||
|
enableHealthCheckLoadBalancerIP: false
|
||||||
|
|
||||||
|
advertisement:
|
||||||
|
loadBalancerIPs: true
|
||||||
|
externalIPs: true
|
||||||
|
|
||||||
|
hubble:
|
||||||
|
relay:
|
||||||
|
enabled: true
|
||||||
|
ui:
|
||||||
|
enabled: true
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: cilium
|
||||||
|
resources:
|
||||||
|
- helm-repo.yaml
|
||||||
|
- helm-release.yaml
|
||||||
|
secretGenerator:
|
||||||
|
- name: cilium-helm-values
|
||||||
|
files:
|
||||||
|
- values.yaml=helm-values.yaml
|
||||||
|
generatorOptions:
|
||||||
|
disableNameSuffixHash: true
|
||||||
+2
-3
@@ -1,13 +1,12 @@
|
|||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
metadata:
|
metadata:
|
||||||
name: traefik
|
name: cilium
|
||||||
spec:
|
spec:
|
||||||
interval: 1m
|
interval: 1m
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
name: casa
|
name: casa
|
||||||
namespace: casa-limbosolutions-com
|
namespace: casa-limbosolutions-com
|
||||||
path: services/traefik/deploy/app
|
path: ./services/cilium/deploy/app
|
||||||
prune: true
|
prune: true
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: cilium.io/v2alpha1
|
||||||
|
kind: CiliumL2AnnouncementPolicy
|
||||||
|
metadata:
|
||||||
|
name: casa-l2
|
||||||
|
spec:
|
||||||
|
# nodeSelector:
|
||||||
|
# matchLabels:
|
||||||
|
# casa-lan: "true"
|
||||||
|
serviceSelector:
|
||||||
|
matchLabels:
|
||||||
|
casa-lan-l2-expose: "true"
|
||||||
|
interfaces:
|
||||||
|
- ens18
|
||||||
|
externalIPs: true
|
||||||
|
loadBalancerIPs: true
|
||||||
|
---
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumLoadBalancerIPPool
|
||||||
|
metadata:
|
||||||
|
name: casa-l2
|
||||||
|
spec:
|
||||||
|
blocks:
|
||||||
|
- cidr: 192.168.14.0/24
|
||||||
@@ -23,3 +23,10 @@ helm upgrade flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-opera
|
|||||||
--create-namespace
|
--create-namespace
|
||||||
kubectl apply -f ./deploy/fluxsystem.yaml
|
kubectl apply -f ./deploy/fluxsystem.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Allow prometheus scrapping:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl apply -f deploy/monitoring.yaml
|
||||||
|
kubectl label ns flux-system prometheus-monitoring=enabled
|
||||||
|
```
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PodMonitor
|
||||||
|
metadata:
|
||||||
|
name: flux-system
|
||||||
|
namespace: flux-system
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/part-of: flux
|
||||||
|
app.kubernetes.io/component: monitoring
|
||||||
|
prometheus-monitoring: enabled
|
||||||
|
spec:
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- flux-system
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: app
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- helm-controller
|
||||||
|
- source-controller
|
||||||
|
- kustomize-controller
|
||||||
|
- notification-controller
|
||||||
|
- image-automation-controller
|
||||||
|
- image-reflector-controller
|
||||||
|
podMetricsEndpoints:
|
||||||
|
- port: http-prom
|
||||||
@@ -20,3 +20,9 @@ Using flux for reconciliation.
|
|||||||
``` bash
|
``` bash
|
||||||
sops -e deploy/promtail/helm-values.private.dec.yaml > deploy/promtail/helm-values.private.yaml
|
sops -e deploy/promtail/helm-values.private.dec.yaml > deploy/promtail/helm-values.private.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Check agent:**
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
http://localhost:9090/agent
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
# values.yaml to install only Prometheus Operator and CRDs
|
|
||||||
|
|
||||||
# Disable all components except the operator
|
|
||||||
defaultRules:
|
defaultRules:
|
||||||
create: false
|
create: false
|
||||||
|
|
||||||
@@ -10,11 +8,15 @@ alertmanager:
|
|||||||
grafana:
|
grafana:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
kubeStateMetrics:
|
kubeStateMetrics:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
nodeExporter:
|
nodeExporter:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
prometheus-node-exporter:
|
prometheus-node-exporter:
|
||||||
prometheus:
|
prometheus:
|
||||||
monitor:
|
monitor:
|
||||||
@@ -27,8 +29,7 @@ prometheus-node-exporter:
|
|||||||
- targetLabel: cluster
|
- targetLabel: cluster
|
||||||
replacement: casa
|
replacement: casa
|
||||||
|
|
||||||
prometheus:
|
|
||||||
enabled: false
|
|
||||||
|
|
||||||
coreDns:
|
coreDns:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ metadata:
|
|||||||
name: node-red
|
name: node-red
|
||||||
namespace: node-red
|
namespace: node-red
|
||||||
spec:
|
spec:
|
||||||
|
ingressClassName: traefik
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
routes:
|
routes:
|
||||||
|
|||||||
@@ -1,3 +1,25 @@
|
|||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: node-red
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: /dataDisks/nvme00/k3s/storageStatic/pv-node-red
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- casa-minion-01
|
||||||
|
---
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
@@ -9,4 +31,4 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Gi
|
storage: 1Gi
|
||||||
storageClassName: local-path
|
storageClassName: ""
|
||||||
@@ -4,7 +4,7 @@ metadata:
|
|||||||
name: storage-limbosolutions-com-seaweedfs-csi-driver
|
name: storage-limbosolutions-com-seaweedfs-csi-driver
|
||||||
spec:
|
spec:
|
||||||
releaseName: storage-limbosolutions-com-seaweedfs-csi-driver
|
releaseName: storage-limbosolutions-com-seaweedfs-csi-driver
|
||||||
interval: 40h
|
interval: 1m
|
||||||
chart:
|
chart:
|
||||||
spec:
|
spec:
|
||||||
chart: seaweedfs-csi-driver
|
chart: seaweedfs-csi-driver
|
||||||
@@ -18,7 +18,7 @@ spec:
|
|||||||
name: seaweedfs-csi-helm-values
|
name: seaweedfs-csi-helm-values
|
||||||
valuesKey: values.private.yaml
|
valuesKey: values.private.yaml
|
||||||
values:
|
values:
|
||||||
storageClassName: storage-limbosolutions-com
|
storageClassName: "" # empty so default storage class is not created
|
||||||
storageClassVolumeBindingMode: Immediate
|
storageClassVolumeBindingMode: Immediate
|
||||||
isDefaultStorageClass: false
|
isDefaultStorageClass: false
|
||||||
#seaweedfsFiler: "" # set on values.private.yaml
|
#seaweedfsFiler: "" # set on values.private.yaml
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ kind: Kustomization
|
|||||||
namespace: storage-limbosolutions-com
|
namespace: storage-limbosolutions-com
|
||||||
resources:
|
resources:
|
||||||
- helm-repo.yaml
|
- helm-repo.yaml
|
||||||
- helm-release.yaml
|
- helm-release.yaml
|
||||||
|
- storage-class.yaml
|
||||||
secretGenerator:
|
secretGenerator:
|
||||||
- name: seaweedfs-csi-helm-values
|
- name: seaweedfs-csi-helm-values
|
||||||
files:
|
files:
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
kind: StorageClass
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: storage-limbosolutions-com
|
||||||
|
provisioner: storage-limbosolutions-com-csi-driver
|
||||||
|
parameters:
|
||||||
|
replication: "000"
|
||||||
|
volumeServerAccess: "filerProxy"
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: traefik
|
||||||
|
spec:
|
||||||
|
|
||||||
|
releaseName: traefik
|
||||||
|
interval: 1m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: traefik
|
||||||
|
version: 40.x.x
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: traefik
|
||||||
|
namespace: traefik
|
||||||
|
interval: 40h
|
||||||
|
values:
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: casa-mini-minion-01
|
||||||
|
tolerations:
|
||||||
|
- key: "infra.limbosolutions.com/dedicated"
|
||||||
|
operator: "Equal"
|
||||||
|
value: "casa-mini-minion-01"
|
||||||
|
effect: "NoSchedule"
|
||||||
|
|
||||||
|
ingressClass:
|
||||||
|
enabled: true
|
||||||
|
isDefaultClass: true
|
||||||
|
name: traefik
|
||||||
|
|
||||||
|
service:
|
||||||
|
enabled: true
|
||||||
|
type: LoadBalancer
|
||||||
|
spec:
|
||||||
|
internalTrafficPolicy: Cluster
|
||||||
|
loadBalancerIP: 192.168.14.203
|
||||||
|
allocateLoadBalancerNodePorts: false
|
||||||
|
labels:
|
||||||
|
casa-lan-l2-expose: "true"
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
exposedPort: 80
|
||||||
|
expose:
|
||||||
|
default: true
|
||||||
|
protocol: TCP
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
exposedPort: 443
|
||||||
|
expose:
|
||||||
|
default: true
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
providers:
|
||||||
|
kubernetesCRD:
|
||||||
|
enabled: true
|
||||||
|
allowCrossNamespace: false
|
||||||
|
namespaces: []
|
||||||
|
ingressClass: traefik
|
||||||
|
kubernetesIngress:
|
||||||
|
enabled: true
|
||||||
|
ingressClass: traefik
|
||||||
|
|
||||||
|
additionalArguments:
|
||||||
|
- "--providers.kubernetesingress.ingressclass=traefik"
|
||||||
|
- "--providers.kubernetescrd.ingressClass=traefik"
|
||||||
|
- "--providers.kubernetescrd.allowEmptyServices=false"
|
||||||
|
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: kube-system
|
namespace: traefik
|
||||||
resources:
|
resources:
|
||||||
- helm-release.yaml
|
- helm-release.yaml
|
||||||
- helm-repo.yaml
|
- helm-repo.yaml
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
||||||
kind: HelmRelease
|
|
||||||
metadata:
|
|
||||||
name: traefik
|
|
||||||
spec:
|
|
||||||
|
|
||||||
releaseName: traefik
|
|
||||||
interval: 40h
|
|
||||||
chart:
|
|
||||||
spec:
|
|
||||||
chart: traefik
|
|
||||||
version: 40.x.x
|
|
||||||
sourceRef:
|
|
||||||
kind: HelmRepository
|
|
||||||
name: traefik
|
|
||||||
namespace: kube-system
|
|
||||||
interval: 40h
|
|
||||||
values:
|
|
||||||
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/hostname: casa-mini-minion-01
|
|
||||||
tolerations:
|
|
||||||
- key: "infra.limbosolutions.com/dedicated"
|
|
||||||
operator: "Equal"
|
|
||||||
value: "casa-mini-minion-01"
|
|
||||||
effect: "NoSchedule"
|
|
||||||
|
|
||||||
ingressClass:
|
|
||||||
enabled: true
|
|
||||||
isDefaultClass: true
|
|
||||||
name: traefik
|
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: traefik
|
||||||
|
spec:
|
||||||
|
|
||||||
|
releaseName: traefik
|
||||||
|
interval: 1m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: traefik
|
||||||
|
version: 40.x.x
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: traefik
|
||||||
|
namespace: traefik-icarus
|
||||||
|
interval: 40h
|
||||||
|
values:
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: casa-minion-01
|
||||||
|
|
||||||
|
ingressClass:
|
||||||
|
enabled: true
|
||||||
|
isDefaultClass: false
|
||||||
|
name: traefik-icarus
|
||||||
|
|
||||||
|
service:
|
||||||
|
enabled: true
|
||||||
|
type: LoadBalancer
|
||||||
|
spec:
|
||||||
|
externalTrafficPolicy: Cluster
|
||||||
|
loadBalancerIP: 192.168.14.204
|
||||||
|
labels:
|
||||||
|
casa-lan-l2-expose: "true"
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
exposedPort: 80
|
||||||
|
expose:
|
||||||
|
default: true
|
||||||
|
protocol: TCP
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
exposedPort: 443
|
||||||
|
expose:
|
||||||
|
default: true
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
providers:
|
||||||
|
kubernetesCRD:
|
||||||
|
enabled: true
|
||||||
|
allowCrossNamespace: false
|
||||||
|
namespaces: []
|
||||||
|
ingressClass: traefik-icarus
|
||||||
|
kubernetesIngress:
|
||||||
|
enabled: true
|
||||||
|
ingressClass: traefik-icarus
|
||||||
|
|
||||||
|
additionalArguments:
|
||||||
|
- "--providers.kubernetesingress.ingressclass=traefik-icarus"
|
||||||
|
- "--providers.kubernetescrd.ingressClass=traefik-icarus"
|
||||||
|
- "--providers.kubernetescrd.allowEmptyServices=false"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: traefik
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://traefik.github.io/charts
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: traefik-icarus
|
||||||
|
resources:
|
||||||
|
- helm-release.yaml
|
||||||
|
- helm-repo.yaml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: traefik
|
||||||
|
namespace: traefik
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: casa
|
||||||
|
namespace: casa-limbosolutions-com
|
||||||
|
path: services/traefik/deploy/app/default
|
||||||
|
prune: true
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: traefik-icarus
|
||||||
|
namespace: traefik-icarus
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: casa
|
||||||
|
namespace: casa-limbosolutions-com
|
||||||
|
path: services/traefik/deploy/app/icarus
|
||||||
|
prune: true
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: kube-system
|
|
||||||
resources:
|
resources:
|
||||||
- app-sync.yaml
|
- default-sync.yaml
|
||||||
|
- icarus-sync.yaml
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: wyoming
|
namespace: wyoming
|
||||||
resources:
|
resources:
|
||||||
- pvc.yaml
|
- storage.yaml
|
||||||
- piper-deployment.yaml
|
- piper-deployment.yaml
|
||||||
- piper-service.yaml
|
- piper-service.yaml
|
||||||
- whisper-deployment.yaml
|
- whisper-deployment.yaml
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: wyoming-piper
|
- name: wyoming-piper
|
||||||
### Maintained by flux - Image Update Automation
|
### Maintained by flux - Image Update Automation
|
||||||
image: rhasspy/wyoming-piper:latest@sha256:c874e4a04657ae3381332ee5d0c8c70a310dae6722892840f530ac0890b44eb3 # {"$imagepolicy": "wyoming:piper"}
|
image: rhasspy/wyoming-piper:latest@sha256:69b7f797ae3a8c3c0202cbf97152fb795d78c2355de2a31655c20671247360d8 # {"$imagepolicy": "wyoming:piper"}
|
||||||
###
|
###
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /data
|
- mountPath: /data
|
||||||
@@ -34,15 +34,3 @@ spec:
|
|||||||
- name: data
|
- name: data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: wyoming-piper
|
claimName: wyoming-piper
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: wyoming-piper
|
|
||||||
namespace: wyoming
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 2Gi
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: wyoming-whisper
|
|
||||||
namespace: wyoming
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 8Gi
|
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: wyoming-whisper
|
||||||
|
namespace: wyoming
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 8Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: /dataDisks/nvme00/k3s/storageStatic/pv-wyoming-whisper
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- casa-minion-01
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: wyoming-whisper
|
||||||
|
namespace: wyoming
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 8Gi
|
||||||
|
storageClassName: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: wyoming-piper
|
||||||
|
namespace: wyoming
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 2Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: /dataDisks/nvme00/k3s/storageStatic/pv-wyoming-piper
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- casa-minion-01
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: wyoming-piper
|
||||||
|
namespace: wyoming
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 2Gi
|
||||||
|
storageClassName: ""
|
||||||
@@ -20,7 +20,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: wyoming-whisper
|
- name: wyoming-whisper
|
||||||
### Maintained by flux - Image Update Automation
|
### Maintained by flux - Image Update Automation
|
||||||
image: rhasspy/wyoming-whisper:latest@sha256:258956d1508a042ae52ceca04da85f6e74e7fab81676e3678619b8047e88c721 # {"$imagepolicy": "wyoming:whisper"}
|
image: rhasspy/wyoming-whisper:latest@sha256:308b7959a925d0cca381c3e6e77292fed87822695635db39c24199d6b7a9e610 # {"$imagepolicy": "wyoming:whisper"}
|
||||||
###
|
###
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /data
|
- mountPath: /data
|
||||||
|
|||||||
Reference in New Issue
Block a user