diff --git a/charts/gpu-process-exporter/Chart.yaml b/charts/gpu-process-exporter/Chart.yaml index 2073310..b424f8b 100644 --- a/charts/gpu-process-exporter/Chart.yaml +++ b/charts/gpu-process-exporter/Chart.yaml @@ -3,7 +3,7 @@ name: gpu-process-exporter description: A Helm chart for gpu-process-exporter type: application icon: https://kubex.ai/wp-content/uploads/kubex-logo-landscape.svg -version: 1.0.0 +version: 1.0.1 keywords: - kubex - gpu diff --git a/charts/gpu-process-exporter/templates/daemonset.yaml b/charts/gpu-process-exporter/templates/daemonset.yaml index 4640587..17914dd 100644 --- a/charts/gpu-process-exporter/templates/daemonset.yaml +++ b/charts/gpu-process-exporter/templates/daemonset.yaml @@ -19,7 +19,11 @@ spec: spec: hostPID: true nodeSelector: + kubernetes.io/os: linux nvidia.com/gpu.present: "true" + {{- with .Values.nodeSelector }} + {{- toYaml . | nindent 8 }} + {{- end }} tolerations: - key: nvidia.com/gpu operator: Exists diff --git a/charts/gpu-process-exporter/values.yaml b/charts/gpu-process-exporter/values.yaml index b1177d8..5b353f2 100644 --- a/charts/gpu-process-exporter/values.yaml +++ b/charts/gpu-process-exporter/values.yaml @@ -29,6 +29,8 @@ resources: limits: memory: 256Mi +nodeSelector: {} + hostProcMount: null nvmlSearchPath: null diff --git a/charts/kubex-automation-stack/CHANGELOG.md b/charts/kubex-automation-stack/CHANGELOG.md index 1f2c349..0ac8fbc 100644 --- a/charts/kubex-automation-stack/CHANGELOG.md +++ b/charts/kubex-automation-stack/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to the kubex-automation-stack chart will be documented in this file. +## [1.0.19] - 2026-07-14 + +### Added +- Added Linux OS requirement to nodeSelector for all stack components to ensure proper scheduling on Linux nodes +- Added configurable nodeSelector to gpu-process-exporter chart +- Added ephemeral storage metrics scaling configurations for all cluster size overlays (xsmall/small/medium/large) + - Configured polling intervals, API rate limits, and concurrency settings scaled by cluster size + - Added resource requests and limits for ephemeral storage metrics collector + - Enabled garbage collection for medium and large clusters to handle pod churn + - Extended probe timeouts for medium and large clusters to prevent false restarts during long polling cycles + +### Changed +- Updated gpu-process-exporter dependency to v1.0.1 +- Updated Prometheus chart dependency to v29.17.0 +- Updated Beyla chart dependency to v1.16.10 + ## [1.0.18] - 2026-07-03 ### Security @@ -14,7 +30,7 @@ All notable changes to the kubex-automation-stack chart will be documented in th ## [1.0.17] - 2026-06-23 ### Changed -- Upgraded Prometheus chart dependency to v29.13.0 to overcome KSM sharding issues with v2.19.0 +- Upgraded Prometheus chart dependency to v29.14.0 to overcome KSM sharding issues with v2.19.0 ## [1.0.16] - 2026-06-11 diff --git a/charts/kubex-automation-stack/Chart.lock b/charts/kubex-automation-stack/Chart.lock index 29464f8..c499a92 100644 --- a/charts/kubex-automation-stack/Chart.lock +++ b/charts/kubex-automation-stack/Chart.lock @@ -4,10 +4,10 @@ dependencies: version: 4.0.17 - name: prometheus repository: https://prometheus-community.github.io/helm-charts - version: 29.14.0 + version: 29.17.0 - name: beyla repository: https://grafana.github.io/helm-charts - version: 1.16.8 + version: 1.16.10 - name: k8s-ephemeral-storage-metrics repository: https://densify-dev.github.io/helm-charts version: 1.21.0 @@ -17,5 +17,5 @@ dependencies: - name: node-labeler repository: https://densify-dev.github.io/helm-charts version: 0.1.2 -digest: sha256:d4b36dc243779019f4a3277b17c487f1be80c39d5a6ce5a3b40979a42dbc5955 -generated: "2026-07-03T17:48:40.199770372Z" +digest: sha256:9f8ea4af17af3e7387dd4e191d60931f0715110eefa69f06d07872a3c94c9f7a +generated: "2026-07-14T11:34:52.714796435+01:00" diff --git a/charts/kubex-automation-stack/Chart.yaml b/charts/kubex-automation-stack/Chart.yaml index d7b3454..f682be0 100644 --- a/charts/kubex-automation-stack/Chart.yaml +++ b/charts/kubex-automation-stack/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 description: Kubex Collection Stack name: kubex-automation-stack -version: 1.0.18 +version: 1.0.19 type: application icon: https://kubex.ai/wp-content/uploads/kubex-logo-landscape.svg dependencies: diff --git a/charts/kubex-automation-stack/values-large.yaml b/charts/kubex-automation-stack/values-large.yaml index ee4fc2b..0f68a0a 100644 --- a/charts/kubex-automation-stack/values-large.yaml +++ b/charts/kubex-automation-stack/values-large.yaml @@ -21,3 +21,24 @@ beyla: cpu: "50m" limits: memory: "1Gi" + +k8s-ephemeral-storage-metrics: + interval: 45 + max_node_concurrency: 30 + client_go_qps: 15 + client_go_burst: 30 + metrics: + gc_enabled: true + gc_interval: 3 + gc_batch_size: 1000 + resources: + requests: + memory: "512Mi" + cpu: "500m" + limits: + memory: "1Gi" + cpu: "2000m" + livenessProbe: + timeoutSeconds: 60 + readinessProbe: + timeoutSeconds: 60 diff --git a/charts/kubex-automation-stack/values-medium.yaml b/charts/kubex-automation-stack/values-medium.yaml index abdd4ff..b827053 100644 --- a/charts/kubex-automation-stack/values-medium.yaml +++ b/charts/kubex-automation-stack/values-medium.yaml @@ -21,3 +21,24 @@ beyla: cpu: "50m" limits: memory: "512Mi" + +k8s-ephemeral-storage-metrics: + interval: 30 + max_node_concurrency: 20 + client_go_qps: 10 + client_go_burst: 20 + metrics: + gc_enabled: true + gc_interval: 5 + gc_batch_size: 500 + resources: + requests: + memory: "256Mi" + cpu: "200m" + limits: + memory: "512Mi" + cpu: "1000m" + livenessProbe: + timeoutSeconds: 45 + readinessProbe: + timeoutSeconds: 45 diff --git a/charts/kubex-automation-stack/values-small.yaml b/charts/kubex-automation-stack/values-small.yaml index 98140de..af98ade 100644 --- a/charts/kubex-automation-stack/values-small.yaml +++ b/charts/kubex-automation-stack/values-small.yaml @@ -21,3 +21,16 @@ beyla: cpu: "50m" limits: memory: "512Mi" + +k8s-ephemeral-storage-metrics: + interval: 25 + max_node_concurrency: 15 + client_go_qps: 8 + client_go_burst: 15 + resources: + requests: + memory: "128Mi" + cpu: "100m" + limits: + memory: "256Mi" + cpu: "500m" diff --git a/charts/kubex-automation-stack/values-xsmall.yaml b/charts/kubex-automation-stack/values-xsmall.yaml index f172508..a2f42c3 100644 --- a/charts/kubex-automation-stack/values-xsmall.yaml +++ b/charts/kubex-automation-stack/values-xsmall.yaml @@ -21,3 +21,16 @@ beyla: cpu: "50m" limits: memory: "512Mi" + +k8s-ephemeral-storage-metrics: + interval: 15 + max_node_concurrency: 10 + client_go_qps: 5 + client_go_burst: 10 + resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "200m" diff --git a/charts/kubex-automation-stack/values.yaml b/charts/kubex-automation-stack/values.yaml index b2d2464..ca52a43 100644 --- a/charts/kubex-automation-stack/values.yaml +++ b/charts/kubex-automation-stack/values.yaml @@ -14,12 +14,18 @@ stack: gpu-process-exporter: enabled: true + nodeSelector: + kubernetes.io/os: linux node-labeler: enabled: false + nodeSelector: + kubernetes.io/os: linux container-optimization-data-forwarder: nameOverride: kubex-stack + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists" @@ -50,6 +56,8 @@ prometheus: enabled: false kube-state-metrics: prometheusScrape: false + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists" @@ -95,12 +103,16 @@ prometheus: - ALL seccompProfile: type: RuntimeDefault + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists" effect: "NoSchedule" server: fullnameOverride: kubex-prometheus-server + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists" @@ -218,6 +230,8 @@ beyla: privileged: true contextPropagation: enabled: false # Survey only - no context propagation needed + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists" @@ -260,6 +274,8 @@ beyla: k8s-ephemeral-storage-metrics: enabled: true nameOverride: kubex-ephemeral-storage-collector + nodeSelector: + kubernetes.io/os: linux tolerations: - key: "kubernetes.io/arch" operator: "Exists"