This is an automated email from the ASF dual-hosted git repository.
yao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 2453efe145 [KYUUBI #6806] [K8S][HELM] Headless service renders ports
for enabled protocols only
2453efe145 is described below
commit 2453efe1457b5a2e153c5c4c1f3200417552d18d
Author: dnskr <[email protected]>
AuthorDate: Thu Nov 14 18:26:22 2024 +0800
[KYUUBI #6806] [K8S][HELM] Headless service renders ports for enabled
protocols only
# :mag: Description
## Issue References ๐
Headless service exposes ports for all protocols (enabled and disabled).
## Describe Your Solution ๐ง
Add condition to render ports for enabled protocols only.
## Types of changes :bookmark:
- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
> Note: `thrift-binary` and `rest` protocols are enabled by default
#### Behavior Without This Pull Request :coffin:
```shell
helm template kyuubi charts/kyuubi -s templates/kyuubi-headless-service.yaml
---
# Source: kyuubi/templates/kyuubi-headless-service.yaml
apiVersion: v1
kind: Service
metadata:
name: kyuubi-headless
labels:
helm.sh/chart: kyuubi-0.1.0
app.kubernetes.io/name: kyuubi
app.kubernetes.io/instance: kyuubi
app.kubernetes.io/version: "1.9.2"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
clusterIP: None
ports:
- name: mysql
port: 3309
targetPort: 3309
- name: rest
port: 10099
targetPort: 10099
- name: thrift-binary
port: 10009
targetPort: 10009
- name: thrift-http
port: 10010
targetPort: 10010
- name: prometheus
port: 10019
targetPort: prometheus
selector:
app.kubernetes.io/name: kyuubi
app.kubernetes.io/instance: kyuubi
```
#### Behavior With This Pull Request :tada:
```shell
helm template kyuubi charts/kyuubi -s templates/kyuubi-headless-service.yaml
---
# Source: kyuubi/templates/kyuubi-headless-service.yaml
apiVersion: v1
kind: Service
metadata:
name: kyuubi-headless
labels:
helm.sh/chart: kyuubi-0.1.0
app.kubernetes.io/name: kyuubi
app.kubernetes.io/instance: kyuubi
app.kubernetes.io/version: "1.9.2"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
clusterIP: None
ports:
- name: rest
port: 10099
targetPort: 10099
- name: thrift-binary
port: 10009
targetPort: 10009
- name: prometheus
port: 10019
targetPort: prometheus
selector:
app.kubernetes.io/name: kyuubi
app.kubernetes.io/instance: kyuubi
```
---
# Checklist ๐
- [x] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
Closes #6806 from dnskr/headless-service-renders-enabled-protocol-ports.
Closes #6806
9d3f07484 [dnskr] [K8S][HELM] Headless service renders ports for enabled
protocols only
Authored-by: dnskr <[email protected]>
Signed-off-by: Kent Yao <[email protected]>
---
charts/kyuubi/templates/kyuubi-headless-service.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/charts/kyuubi/templates/kyuubi-headless-service.yaml
b/charts/kyuubi/templates/kyuubi-headless-service.yaml
index 4b75c0b2e1..7eac7c1d02 100644
--- a/charts/kyuubi/templates/kyuubi-headless-service.yaml
+++ b/charts/kyuubi/templates/kyuubi-headless-service.yaml
@@ -26,10 +26,12 @@ spec:
clusterIP: None
ports:
{{- range $name, $frontend := .Values.server }}
+ {{- if $frontend.enabled }}
- name: {{ $name | kebabcase }}
port: {{ tpl $frontend.service.port $ }}
targetPort: {{ $frontend.port }}
{{- end }}
+ {{- end }}
{{- if and .Values.metrics.enabled (.Values.metrics.reporters | nospace |
splitList "," | has "PROMETHEUS") }}
- name: prometheus
port: {{ .Values.metrics.prometheusPort }}