From c9eb7e69f666e2657992255442ad35ad37521ccd Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Sat, 10 Jan 2026 13:13:01 +0900 Subject: [PATCH] PERF(repo): add PriorityClasses for workloads - Create high-priority (1000) for critical infra - Create medium-priority (500) for observability - Create low-priority (100) as global default --- kustomization.yaml | 1 + priority-classes/argocd.yaml | 17 +++++++++++ priority-classes/manifests/kustomization.yaml | 5 ++++ .../manifests/priority-classes.yaml | 28 +++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 priority-classes/argocd.yaml create mode 100644 priority-classes/manifests/kustomization.yaml create mode 100644 priority-classes/manifests/priority-classes.yaml diff --git a/kustomization.yaml b/kustomization.yaml index d03ff5a..d79659f 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -6,6 +6,7 @@ resources: - application.yaml # Core infrastructure + - priority-classes/argocd.yaml - cert-manager/argocd.yaml - traefik/argocd.yaml - argocd-image-updater/argocd.yaml diff --git a/priority-classes/argocd.yaml b/priority-classes/argocd.yaml new file mode 100644 index 0000000..dcff80e --- /dev/null +++ b/priority-classes/argocd.yaml @@ -0,0 +1,17 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: priority-classes + namespace: argocd +spec: + project: default + source: + repoURL: https://github.com/Mayne0213/platform.git + targetRevision: HEAD + path: priority-classes/manifests + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/priority-classes/manifests/kustomization.yaml b/priority-classes/manifests/kustomization.yaml new file mode 100644 index 0000000..8ba8781 --- /dev/null +++ b/priority-classes/manifests/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - priority-classes.yaml diff --git a/priority-classes/manifests/priority-classes.yaml b/priority-classes/manifests/priority-classes.yaml new file mode 100644 index 0000000..05cb295 --- /dev/null +++ b/priority-classes/manifests/priority-classes.yaml @@ -0,0 +1,28 @@ +# High Priority (1000) - Critical infrastructure +# ArgoCD, Gitea, CNPG, Vault, MinIO +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: high-priority +value: 1000 +globalDefault: false +description: "High priority for critical infrastructure" +--- +# Medium Priority (500) - Observability stack +# Thanos, Prometheus, Loki, Tempo +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: medium-priority +value: 500 +globalDefault: false +description: "Medium priority for observability stack" +--- +# Low Priority (100) - Everything else +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: low-priority +value: 100 +globalDefault: true +description: "Low priority for all other applications"