Add support for Horizontal Pod Autoscaling for Broker and Proxy. (#262)
* Add support for Horizontal Pod Autoscaling for Broker and Proxy. * Add license
This commit is contained in:
parent
cee3fcfe56
commit
bfb6985de8
@ -21,7 +21,7 @@ apiVersion: v2
|
|||||||
appVersion: "2.9.2"
|
appVersion: "2.9.2"
|
||||||
description: Apache Pulsar Helm chart for Kubernetes
|
description: Apache Pulsar Helm chart for Kubernetes
|
||||||
name: pulsar
|
name: pulsar
|
||||||
version: 2.9.2
|
version: 2.9.3
|
||||||
home: https://pulsar.apache.org
|
home: https://pulsar.apache.org
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/apache/pulsar
|
- https://github.com/apache/pulsar
|
||||||
|
|||||||
36
charts/pulsar/templates/broker-hpa.yaml
Normal file
36
charts/pulsar/templates/broker-hpa.yaml
Normal file
@ -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 }}
|
||||||
36
charts/pulsar/templates/proxy-hpa.yaml
Normal file
36
charts/pulsar/templates/proxy-hpa.yaml
Normal file
@ -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 }}
|
||||||
@ -668,6 +668,11 @@ broker:
|
|||||||
# so the metrics are correctly rendered in grafana dashboard
|
# so the metrics are correctly rendered in grafana dashboard
|
||||||
component: broker
|
component: broker
|
||||||
replicaCount: 3
|
replicaCount: 3
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 3
|
||||||
|
metrics: ~
|
||||||
# If using Prometheus-Operator enable this PodMonitor to discover broker scrape targets
|
# If using Prometheus-Operator enable this PodMonitor to discover broker scrape targets
|
||||||
# Prometheus-Operator does not add scrape targets based on k8s annotations
|
# Prometheus-Operator does not add scrape targets based on k8s annotations
|
||||||
podMonitor:
|
podMonitor:
|
||||||
@ -784,6 +789,11 @@ proxy:
|
|||||||
# so the metrics are correctly rendered in grafana dashboard
|
# so the metrics are correctly rendered in grafana dashboard
|
||||||
component: proxy
|
component: proxy
|
||||||
replicaCount: 3
|
replicaCount: 3
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 3
|
||||||
|
metrics: ~
|
||||||
# If using Prometheus-Operator enable this PodMonitor to discover proxy scrape targets
|
# If using Prometheus-Operator enable this PodMonitor to discover proxy scrape targets
|
||||||
# Prometheus-Operator does not add scrape targets based on k8s annotations
|
# Prometheus-Operator does not add scrape targets based on k8s annotations
|
||||||
podMonitor:
|
podMonitor:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user