feat!: refactor namespaces and add descheduler (#1110)
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
1 parent
a8bc633ff1
commit
e167882e64
70 files changed
+208
-104
No files matched your search
@@ -0,0 +1,12 @@
|
||||
#jinja2: trim_blocks: True, lstrip_blocks: True
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./namespace.yaml
|
||||
- ./local-path-provisioner/ks.yaml
|
||||
- ./snapshot-controller/ks.yaml
|
||||
- ./volsync/ks.yaml
|
||||
{% if csi_driver_nfs.enabled | default(false) %}
|
||||
- ./csi-driver-nfs/ks.yaml
|
||||
{% endif %}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: local-path-provisioner
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: democratic-csi
|
||||
version: 0.14.3
|
||||
sourceRef:
|
||||
name: democratic-csi
|
||||
kind: HelmRepository
|
||||
namespace: flux-system
|
||||
install:
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
fullnameOverride: local-path-provisioner
|
||||
controller:
|
||||
strategy: node
|
||||
externalProvisioner:
|
||||
image: registry.k8s.io/sig-storage/csi-provisioner:v3.6.3
|
||||
extraArgs:
|
||||
- --leader-election=false
|
||||
- --node-deployment=true
|
||||
- --node-deployment-immediate-binding=false
|
||||
- --feature-gates=Topology=true
|
||||
- --strict-topology=true
|
||||
- --enable-capacity=true
|
||||
- --capacity-ownerref-level=1
|
||||
externalResizer:
|
||||
enabled: false
|
||||
externalAttacher:
|
||||
enabled: false
|
||||
externalSnapshotter:
|
||||
enabled: false
|
||||
csiDriver:
|
||||
name: local-hostpath.cluster.local
|
||||
storageCapacity: true
|
||||
attachRequired: false
|
||||
fsGroupPolicy: File
|
||||
storageClasses:
|
||||
- name: local-hostpath
|
||||
defaultClass: false
|
||||
reclaimPolicy: Delete
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
allowVolumeExpansion: true
|
||||
driver:
|
||||
config:
|
||||
driver: local-hostpath
|
||||
local-hostpath:
|
||||
shareBasePath: &storagePath "{{ bootstrap_local_path_provisioner_path | default('/var/lib/rancher/k3s/local-hostpath', true) }}"
|
||||
controllerBasePath: *storagePath
|
||||
dirPermissionsMode: "0770"
|
||||
dirPermissionsUser: 0
|
||||
dirPermissionsGroup: 0
|
||||
node:
|
||||
driver:
|
||||
image: ghcr.io/democratic-csi/democratic-csi:v1.8.4
|
||||
extraVolumeMounts:
|
||||
- name: local-hostpath
|
||||
mountPath: *storagePath
|
||||
mountPropagation: Bidirectional
|
||||
extraVolumes:
|
||||
- name: local-hostpath
|
||||
hostPath:
|
||||
path: *storagePath
|
||||
type: DirectoryOrCreate
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./helmrelease.yaml
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app local-path-provisioner
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: storage
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
path: ./kubernetes/apps/storage/local-path-provisioner/app
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: false
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 5m
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: storage
|
||||
labels:
|
||||
kustomize.toolkit.fluxcd.io/prune: disabled
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: snapshot-controller
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: snapshot-controller
|
||||
version: 2.0.4
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: piraeus
|
||||
namespace: flux-system
|
||||
maxHistory: 2
|
||||
install:
|
||||
crds: CreateReplace
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
crds: CreateReplace
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
values:
|
||||
controller:
|
||||
serviceMonitor:
|
||||
create: true
|
||||
webhook:
|
||||
enabled: false
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./helmrelease.yaml
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app snapshot-controller
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: storage
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
path: ./kubernetes/apps/storage/snapshot-controller/app
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: false
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 5m
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: volsync
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: volsync
|
||||
version: 0.8.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: backube
|
||||
namespace: flux-system
|
||||
maxHistory: 2
|
||||
install:
|
||||
remediation:
|
||||
retries: 3
|
||||
upgrade:
|
||||
cleanupOnFail: true
|
||||
remediation:
|
||||
retries: 3
|
||||
uninstall:
|
||||
keepHistory: false
|
||||
dependsOn:
|
||||
- name: snapshot-controller
|
||||
namespace: storage
|
||||
values:
|
||||
manageCRDs: true
|
||||
image:
|
||||
# https://github.com/backube/volsync/issues/828
|
||||
repository: &image ghcr.io/onedr0p/volsync
|
||||
tag: &tag 0.8.0
|
||||
rclone:
|
||||
repository: *image
|
||||
tag: *tag
|
||||
restic:
|
||||
repository: *image
|
||||
tag: *tag
|
||||
metrics:
|
||||
disableAuth: true
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./helmrelease.yaml
|
||||
- ./prometheusrule.yaml
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: PrometheusRule
|
||||
metadata:
|
||||
name: volsync
|
||||
spec:
|
||||
groups:
|
||||
- name: volsync.rules
|
||||
rules:
|
||||
- alert: VolSyncComponentAbsent
|
||||
annotations:
|
||||
summary: VolSync component has disappeared from Prometheus target discovery.
|
||||
expr: absent(up{job="volsync-metrics"})
|
||||
for: 15m
|
||||
labels:
|
||||
severity: critical
|
||||
- alert: VolSyncVolumeOutOfSync
|
||||
annotations:
|
||||
summary: "{% raw %}{{ $labels.obj_namespace }}/{{ $labels.obj_name }} volume is out of sync.{% endraw %}"
|
||||
expr: volsync_volume_out_of_sync == 1
|
||||
for: 15m
|
||||
labels:
|
||||
severity: critical
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: &app volsync
|
||||
namespace: flux-system
|
||||
spec:
|
||||
targetNamespace: storage
|
||||
commonMetadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: *app
|
||||
path: ./kubernetes/apps/storage/volsync/app
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: home-kubernetes
|
||||
wait: false
|
||||
interval: 30m
|
||||
retryInterval: 1m
|
||||
timeout: 5m
|
||||
Reference in new issue
Block a user