diff --git a/flux/clusters/default/kustomization.yml b/flux/clusters/default/kustomization.yml index 44bae8b..ce1947e 100644 --- a/flux/clusters/default/kustomization.yml +++ b/flux/clusters/default/kustomization.yml @@ -4,4 +4,5 @@ resources: - ../../core/local-path-provisioner - ../../core/metrics-server - ../../core/kubelet-serving-cert-approver + - ../../core/monitoring-prerequisites - ../../components/monitoring diff --git a/flux/clusters/ephemeral/kustomization.yml b/flux/clusters/ephemeral/kustomization.yml index d63b551..4611c9b 100644 --- a/flux/clusters/ephemeral/kustomization.yml +++ b/flux/clusters/ephemeral/kustomization.yml @@ -9,6 +9,7 @@ resources: - ../../core/local-path-provisioner - ../../core/metrics-server - ../../core/kubelet-serving-cert-approver + - ../../core/monitoring-prerequisites - ../../components/kubevirt - ../../components/monitoring - hubble-ingress.yml diff --git a/flux/components/monitoring/controllers/kube-prometheus-stack/release.yaml b/flux/components/monitoring/controllers/kube-prometheus-stack/release.yaml index 352a684..9509086 100644 --- a/flux/components/monitoring/controllers/kube-prometheus-stack/release.yaml +++ b/flux/components/monitoring/controllers/kube-prometheus-stack/release.yaml @@ -30,8 +30,11 @@ spec: values: alertmanager: enabled: false + prometheusOperator: + priorityClassName: spectrum-monitoring prometheus: prometheusSpec: + priorityClassName: spectrum-monitoring retention: 168h resources: requests: @@ -56,6 +59,7 @@ spec: app.kubernetes.io/part-of: spectrum-monitoring grafana: + priorityClassName: spectrum-monitoring defaultDashboardsEnabled: false adminPassword: fluence sidecar: @@ -68,3 +72,8 @@ spec: provider: allowUiUpdates: true foldersFromFilesStructure: true + + kube-state-metrics: + priorityClassName: spectrum-monitoring + prometheus-node-exporter: + priorityClassName: spectrum-monitoring diff --git a/flux/components/monitoring/controllers/loki-stack/release.yaml b/flux/components/monitoring/controllers/loki-stack/release.yaml index c63673e..8cfc4cc 100644 --- a/flux/components/monitoring/controllers/loki-stack/release.yaml +++ b/flux/components/monitoring/controllers/loki-stack/release.yaml @@ -24,9 +24,11 @@ spec: values: promtail: enabled: true + priorityClassName: spectrum-monitoring loki: enabled: true isDefault: false + priorityClassName: spectrum-monitoring serviceMonitor: enabled: true additionalLabels: diff --git a/flux/core/local-path-provisioner/kustomization.yml b/flux/core/local-path-provisioner/kustomization.yml index b632a80..9cc8343 100644 --- a/flux/core/local-path-provisioner/kustomization.yml +++ b/flux/core/local-path-provisioner/kustomization.yml @@ -33,3 +33,11 @@ patches: name: local-path-storage labels: pod-security.kubernetes.io/enforce: privileged + - patch: |- + - op: replace + path: /spec/template/spec/priorityClassName + value: system-cluster-critical + target: + kind: Deployment + name: local-path-provisioner + namespace: local-path-storage diff --git a/flux/core/monitoring-prerequisites/kustomization.yaml b/flux/core/monitoring-prerequisites/kustomization.yaml new file mode 100644 index 0000000..f81cecb --- /dev/null +++ b/flux/core/monitoring-prerequisites/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./manifests.yaml diff --git a/flux/core/monitoring-prerequisites/manifests.yaml b/flux/core/monitoring-prerequisites/manifests.yaml new file mode 100644 index 0000000..483c73b --- /dev/null +++ b/flux/core/monitoring-prerequisites/manifests.yaml @@ -0,0 +1,9 @@ + +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: spectrum-monitoring +value: 100000 +globalDefault: false +description: "Spectrum monitoring priority class" diff --git a/terraform-modules/spectrum/flux.tf b/terraform-modules/spectrum/flux.tf index a5a006d..3b7d544 100644 --- a/terraform-modules/spectrum/flux.tf +++ b/terraform-modules/spectrum/flux.tf @@ -21,6 +21,22 @@ resource "helm_release" "flux" { name = "imageAutomationController.create" value = "false" } + set { + name = "helmController.priorityClassName" + value = "system-cluster-critical" + } + set { + name = "kustomizeController.priorityClassName" + value = "system-cluster-critical" + } + set { + name = "notificationController.priorityClassName" + value = "system-cluster-critical" + } + set { + name = "sourceController.priorityClassName" + value = "system-cluster-critical" + } } resource "helm_release" "flux-sync" {