diff --git a/charts/pulsar/Chart.yaml b/charts/pulsar/Chart.yaml index a9ff7fa..f5c26bc 100644 --- a/charts/pulsar/Chart.yaml +++ b/charts/pulsar/Chart.yaml @@ -21,7 +21,7 @@ apiVersion: v2 appVersion: "2.9.2" description: Apache Pulsar Helm chart for Kubernetes name: pulsar -version: 2.9.2 +version: 2.9.3 home: https://pulsar.apache.org sources: - https://github.com/apache/pulsar diff --git a/charts/pulsar/templates/broker-hpa.yaml b/charts/pulsar/templates/broker-hpa.yaml new file mode 100644 index 0000000..018d218 --- /dev/null +++ b/charts/pulsar/templates/broker-hpa.yaml @@ -0,0 +1,36 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +{{- if .Values.broker.autoscaling.enabled }} +apiVersion: autoscaling/v2beta2 +kind: HorizontalPodAutoscaler +metadata: + name: "{{ template "pulsar.fullname" . }}-{{ .Values.broker.component }}" +spec: + maxReplicas: {{ .Values.broker.autoscaling.maxReplicas }} + {{- with .Values.broker.autoscaling.metrics }} + metrics: + {{- toYaml . | nindent 4 }} + {{- end }} + minReplicas: {{ .Values.broker.autoscaling.minReplicas }} + scaleTargetRef: + apiVersion: apps/v1 + kind: StatefulSet + name: "{{ template "pulsar.fullname" . }}-{{ .Values.broker.component }}" +{{- end }} diff --git a/charts/pulsar/templates/proxy-hpa.yaml b/charts/pulsar/templates/proxy-hpa.yaml new file mode 100644 index 0000000..7314eca --- /dev/null +++ b/charts/pulsar/templates/proxy-hpa.yaml @@ -0,0 +1,36 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +{{- if .Values.proxy.autoscaling.enabled }} +apiVersion: autoscaling/v2beta2 +kind: HorizontalPodAutoscaler +metadata: + name: "{{ template "pulsar.fullname" . }}-{{ .Values.proxy.component }}" +spec: + maxReplicas: {{ .Values.proxy.autoscaling.maxReplicas }} + {{- with .Values.proxy.autoscaling.metrics }} + metrics: + {{- toYaml . | nindent 4 }} + {{- end }} + minReplicas: {{ .Values.proxy.autoscaling.minReplicas }} + scaleTargetRef: + apiVersion: apps/v1 + kind: StatefulSet + name: "{{ template "pulsar.fullname" . }}-{{ .Values.proxy.component }}" +{{- end }} diff --git a/charts/pulsar/values.yaml b/charts/pulsar/values.yaml index 81cfa16..2193169 100644 --- a/charts/pulsar/values.yaml +++ b/charts/pulsar/values.yaml @@ -668,6 +668,11 @@ broker: # so the metrics are correctly rendered in grafana dashboard component: broker replicaCount: 3 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + metrics: ~ # If using Prometheus-Operator enable this PodMonitor to discover broker scrape targets # Prometheus-Operator does not add scrape targets based on k8s annotations podMonitor: @@ -784,6 +789,11 @@ proxy: # so the metrics are correctly rendered in grafana dashboard component: proxy replicaCount: 3 + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 3 + metrics: ~ # If using Prometheus-Operator enable this PodMonitor to discover proxy scrape targets # Prometheus-Operator does not add scrape targets based on k8s annotations podMonitor: