This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-helm-chart.git


The following commit(s) were added to refs/heads/master by this push:
     new cb5c44f  Allow broker's service clusterIP customisation (#498)
cb5c44f is described below

commit cb5c44f8ec18c3da0d162aa03e09c2c92cc25988
Author: Massimiliano Mirelli <[email protected]>
AuthorDate: Tue Jun 4 18:45:14 2024 +0300

    Allow broker's service clusterIP customisation (#498)
    
    * Allow broker's service clusterIP customisation
    
    This customisation is useful to configure headless vs non-headless
    broker's service. The default is headless broker service, i.e. a
    service for which kubernetes  does not allocate an IP
    address 
(https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip).
 A
    headless service is a very simple type of service that doesn't seem to work 
well
    when pulsar service is exposed by pulsar-proxy via a nodeport.
    
    Addresses #497.
    
    * Address review comments
    
    https://github.com/apache/pulsar-helm-chart/pull/498/files#r1605762934
    and https://github.com/apache/pulsar-helm-chart/pull/498/files#r1605763245
    
    * Move doc to Values.broker.service
---
 charts/pulsar/templates/broker-service.yaml | 3 ++-
 charts/pulsar/values.yaml                   | 6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/charts/pulsar/templates/broker-service.yaml 
b/charts/pulsar/templates/broker-service.yaml
index 5f0161b..f9cd1c7 100644
--- a/charts/pulsar/templates/broker-service.yaml
+++ b/charts/pulsar/templates/broker-service.yaml
@@ -29,6 +29,7 @@ metadata:
   annotations:
 {{ toYaml .Values.broker.service.annotations | indent 4 }}
 spec:
+  type: ClusterIP
   ports:
   # prometheus needs to access /metrics endpoint
   - name: http
@@ -43,7 +44,7 @@ spec:
   - name: "{{ .Values.tlsPrefix }}pulsarssl"
     port: {{ .Values.broker.ports.pulsarssl }}
   {{- end }}
-  clusterIP: None
+  clusterIP: "{{ .Values.broker.service.clusterIP }}"
   selector:
     {{- include "pulsar.matchLabels" . | nindent 4 }}
     component: {{ .Values.broker.component }}
diff --git a/charts/pulsar/values.yaml b/charts/pulsar/values.yaml
index 1094510..22ad8f0 100755
--- a/charts/pulsar/values.yaml
+++ b/charts/pulsar/values.yaml
@@ -861,6 +861,12 @@ broker:
   ## templates/broker-service.yaml
   ##
   service:
+    # clusterIP can be one of the three, which determines the type of k8s 
service deployed for broker
+    # 1. a valid IPv4 address -> non-headless service, let you select the IPv4 
address
+    # 2. '' -> non-headless service, k8s picks an IPv4 address
+    # 3. 'None' -> headless
+    # Ref: 
https://kubernetes.io/docs/concepts/services-networking/service/#type-clusterip
+    clusterIP: "None"
     annotations: {}
   ## Broker PodDisruptionBudget
   ## templates/broker-pdb.yaml

Reply via email to