Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions charts/sn-platform-slim/templates/broker/broker-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,32 @@ spec:
mode: "passthrough"
{{- end }}
{{- end }}
{{- if and .Values.broker.pulsarBroker.networking .Values.broker.pulsarBroker.networking.podService .Values.broker.pulsarBroker.networking.podService.enabled }}
networking:
{{- with .Values.broker.pulsarBroker.networking.podService }}
podService:
enabled: {{ .enabled }}
{{- if .type }}
type: {{ .type }}
{{- end }}
{{- with .annotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .labels }}
labels:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .ports }}
ports:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}
{{- with .Values.broker.pulsarBroker.advertisedListeners }}
advertisedListeners:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.broker.dnsNames }}
dnsNames:
{{ toYaml .Values.broker.dnsNames | indent 2}}
Expand Down
42 changes: 42 additions & 0 deletions charts/sn-platform-slim/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1143,6 +1143,48 @@ broker:
labels: {}
# annotations that will be added on the PulsarBroker CR only.
annotations: {}
# networking configures per-pod Service creation for broker pods
# When enabled, creates a dedicated Service for each broker pod
# Essential for Istio Federation/Multi-cluster scenarios
networking:
podService:
# enabled controls whether per-pod Services are created
enabled: false
# type specifies the Service type: ClusterIP, LoadBalancer, or NodePort
type: ClusterIP
# annotations to add to each pod Service
annotations: {}
# labels to add to each pod Service
labels: {}
# ports to expose on each pod Service
# If not specified, uses default broker ports (6650, 8080, etc.)
# Example:
# ports:
# - name: pulsar
# port: 6650
# targetPort: 6650
# - name: http
# port: 8080
# targetPort: 8080
ports: []
# advertisedListeners defines how brokers are advertised to clients
# Used with networking.podService for Istio Federation/Multi-cluster scenarios
#
# Available hostTemplate variables (interpolated by Kubernetes at runtime):
# - $(POD_NAME): Full pod name, e.g., "pulsar-broker-0"
# - $(POD_ID): Pod ordinal from StatefulSet, e.g., "0", "1", "2"
#
# IMPORTANT: Use a non-default port (e.g., 6660) to avoid conflict with brokerServicePort (6650)
#
# Example for Istio Federation:
# advertisedListeners:
# - name: pod
# hostTemplate: "$(POD_NAME).my-namespace.svc.cluster.local"
# protocols:
# pulsar:
# advertisedPort: 6660
# containerPort: 6660
advertisedListeners: []

# The field autoScaling will track the average metrics usage of the Pulsar nodes and adjusts the nodes to keep at the target metrics usage level.
# If the average metrics usage for nodes is over the target, scaling controller will scale out to bring more nodes and if the average metrics for the nodes is less than the target, scaling controller will downscale nodes to save resources.
Expand Down
26 changes: 26 additions & 0 deletions charts/sn-platform/templates/broker/broker-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,32 @@ spec:
mode: "passthrough"
{{- end }}
{{- end }}
{{- if and .Values.broker.pulsarBroker.networking .Values.broker.pulsarBroker.networking.podService .Values.broker.pulsarBroker.networking.podService.enabled }}
networking:
{{- with .Values.broker.pulsarBroker.networking.podService }}
podService:
enabled: {{ .enabled }}
{{- if .type }}
type: {{ .type }}
{{- end }}
{{- with .annotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .labels }}
labels:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .ports }}
ports:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}
{{- with .Values.broker.pulsarBroker.advertisedListeners }}
advertisedListeners:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.broker.dnsNames }}
dnsNames:
{{ toYaml .Values.broker.dnsNames | indent 2}}
Expand Down
42 changes: 42 additions & 0 deletions charts/sn-platform/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1218,6 +1218,48 @@ broker:
labels: {}
# annotations that will be added on the PulsarBroker CR only.
annotations: {}
# networking configures per-pod Service creation for broker pods
# When enabled, creates a dedicated Service for each broker pod
# Essential for Istio Federation/Multi-cluster scenarios
networking:
podService:
# enabled controls whether per-pod Services are created
enabled: false
# type specifies the Service type: ClusterIP, LoadBalancer, or NodePort
type: ClusterIP
# annotations to add to each pod Service
annotations: {}
# labels to add to each pod Service
labels: {}
# ports to expose on each pod Service
# If not specified, uses default broker ports (6650, 8080, etc.)
# Example:
# ports:
# - name: pulsar
# port: 6650
# targetPort: 6650
# - name: http
# port: 8080
# targetPort: 8080
ports: []
# advertisedListeners defines how brokers are advertised to clients
# Used with networking.podService for Istio Federation/Multi-cluster scenarios
#
# Available hostTemplate variables (interpolated by Kubernetes at runtime):
# - $(POD_NAME): Full pod name, e.g., "pulsar-broker-0"
# - $(POD_ID): Pod ordinal from StatefulSet, e.g., "0", "1", "2"
#
# IMPORTANT: Use a non-default port (e.g., 6660) to avoid conflict with brokerServicePort (6650)
#
# Example for Istio Federation:
# advertisedListeners:
# - name: pod
# hostTemplate: "$(POD_NAME).my-namespace.svc.cluster.local"
# protocols:
# pulsar:
# advertisedPort: 6660
# containerPort: 6660
advertisedListeners: []

# The field autoScaling will track the average metrics usage of the Pulsar nodes and adjusts the nodes to keep at the target metrics usage level.
# If the average metrics usage for nodes is over the target, scaling controller will scale out to bring more nodes and if the average metrics for the nodes is less than the target, scaling controller will downscale nodes to save resources.
Expand Down
Loading