This is an automated email from the ASF dual-hosted git repository.
nicknezis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git
The following commit(s) were added to refs/heads/master by this push:
new 4f588cf Helm: Adding option to switch the Kubernetes services between
NodePort and ClusterIP (#3721)
4f588cf is described below
commit 4f588cfe003ee47264e564d25d694c1300d32fbc
Author: Windham Wong <[email protected]>
AuthorDate: Thu Nov 11 12:28:52 2021 +0800
Helm: Adding option to switch the Kubernetes services between NodePort and
ClusterIP (#3721)
* Adding option to switch the apiserver service between NodePort and
ClusterIP
* Now support custom NodePort port number
* Better value.yaml settings for nodeport config
* Some cleanup and allows K8s to auto-pick nodeport
* Fixing typo
Co-authored-by: Windham Wong <[email protected]>
Co-authored-by: Nicholas Nezis <[email protected]>
---
WORKSPACE | 8 ++--
deploy/kubernetes/gke/medium.yaml | 5 +-
deploy/kubernetes/gke/small.yaml | 5 +-
deploy/kubernetes/helm/templates/tools.yaml | 72 ++++++++++++++++++++---------
deploy/kubernetes/helm/values.yaml.template | 22 +++++++--
5 files changed, 78 insertions(+), 34 deletions(-)
diff --git a/WORKSPACE b/WORKSPACE
index f58aa3d..9f1f203 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -354,17 +354,17 @@ http_archive(
http_archive(
name = "helm_mac",
build_file = "@//:third_party/helm/helm.BUILD",
- sha256 =
"05c7748da0ea8d5f85576491cd3c615f94063f20986fd82a0f5658ddc286cdb1",
+ sha256 =
"3a9efe337c61a61b3e160da919ac7af8cded8945b75706e401f3655a89d53ef5",
strip_prefix = "darwin-amd64",
- urls = ["https://get.helm.sh/helm-v3.0.2-darwin-amd64.tar.gz"],
+ urls = ["https://get.helm.sh/helm-v3.7.1-darwin-amd64.tar.gz"],
)
http_archive(
name = "helm_linux",
build_file = "@//:third_party/helm/helm.BUILD",
- sha256 =
"c6b7aa7e4ffc66e8abb4be328f71d48c643cb8f398d95c74d075cfb348710e1d",
+ sha256 =
"6cd6cad4b97e10c33c978ff3ac97bb42b68f79766f1d2284cfd62ec04cd177f4",
strip_prefix = "linux-amd64",
- urls = ["https://get.helm.sh/helm-v3.0.2-linux-amd64.tar.gz"],
+ urls = ["https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz"],
)
# end helm
diff --git a/deploy/kubernetes/gke/medium.yaml
b/deploy/kubernetes/gke/medium.yaml
index b140d11..fc96deb 100644
--- a/deploy/kubernetes/gke/medium.yaml
+++ b/deploy/kubernetes/gke/medium.yaml
@@ -30,8 +30,9 @@ platform: gke
# Number of replicas for the job binary in bookkeeper
jobReplicas: 2
-# amount of memory to provide for API server
-apiServerMemory: 512M
+apiServer:
+ # amount of memory to provide for API server
+ memory: 512M
# Number of replicas for storage bookies, memory and storage requirements
bookieReplicas: 5
diff --git a/deploy/kubernetes/gke/small.yaml b/deploy/kubernetes/gke/small.yaml
index 070c95f..f3ce323 100644
--- a/deploy/kubernetes/gke/small.yaml
+++ b/deploy/kubernetes/gke/small.yaml
@@ -30,8 +30,9 @@ platform: gke
# Number of replicas for the job binary in bookkeeper
jobReplicas: 2
-# amount of memory to provide for API server
-apiServerMemory: 512M
+apiServer:
+ # amount of memory to provide for API server
+ memory: 512M
# Number of replicas for storage bookies, memory and storage requirements
bookieReplicas: 3
diff --git a/deploy/kubernetes/helm/templates/tools.yaml
b/deploy/kubernetes/helm/templates/tools.yaml
index 123f0e2..7cb572b 100644
--- a/deploy/kubernetes/helm/templates/tools.yaml
+++ b/deploy/kubernetes/helm/templates/tools.yaml
@@ -18,7 +18,7 @@
{{- $platform := .Values.platform -}}
{{- $jobReplicas := .Values.jobReplicas -}}
{{- $defaultUrl := (printf "/api/v1/namespaces/%s/services/%s-ui:8889/proxy"
.Release.Namespace .Release.Name) -}}
-{{- $apiServerMemory := .Values.apiServerMemory }}
+{{- $apiServerMemory := .Values.apiServer.memory }}
apiVersion: v1
kind: ConfigMap
@@ -112,8 +112,8 @@ spec:
- >-
heron-ui
--port=8889
- {{- if not (kindIs "invalid" .Values.heron.url) }}
- --base-url={{ eq .Values.heron.url "-" | ternary $defaultUrl
.Values.heron.url }}
+ {{- if not (kindIs "invalid" .Values.ui.url) }}
+ --base-url={{ eq .Values.ui.url "-" | ternary $defaultUrl
.Values.ui.url }}
{{- end }}
- name: heron-apiserver
image: {{ .Values.image }}
@@ -181,6 +181,14 @@ spec:
- port: 8889
targetPort: 8889
protocol: TCP
+ {{- if .Values.ui.nodePort.enabled }}
+ nodePort: {{ .Values.ui.nodePort.port }}
+ {{- end }}
+ {{- if .Values.ui.nodePort.enabled }}
+ type: NodePort
+ {{- else }}
+ type: ClusterIP
+ {{- end }}
selector:
app: {{ .Release.Name }}-tools
release: {{ .Release.Name }}
@@ -203,6 +211,44 @@ spec:
- port: 8888
targetPort: 8888
protocol: TCP
+ {{- if .Values.tracker.nodePort.enabled }}
+ nodePort: {{ .Values.tracker.nodePort.port }}
+ {{- end }}
+ {{- if .Values.tracker.nodePort.enabled }}
+ type: NodePort
+ {{- else }}
+ type: ClusterIP
+ {{- end }}
+ selector:
+ app: {{ .Release.Name }}-tools
+ release: {{ .Release.Name }}
+
+---
+##
+## Service to expose the heron-apiserver
+##
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Release.Name }}-apiserver
+ labels:
+ app: {{ .Release.Name }}-tools
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ - port: 9000
+ targetPort: 9000
+ protocol: TCP
+ {{- if .Values.apiServer.nodePort.enabled }}
+ nodePort: {{ .Values.apiServer.nodePort.port }}
+ {{- end }}
+ {{- if .Values.apiServer.nodePort.enabled }}
+ type: NodePort
+ {{- else }}
+ type: ClusterIP
+ {{- end }}
selector:
app: {{ .Release.Name }}-tools
release: {{ .Release.Name }}
@@ -269,23 +315,3 @@ rules:
verbs:
- get
- list
-
----
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ .Release.Name }}-apiserver
- labels:
- app: {{ .Release.Name }}-tools
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-spec:
- ports:
- - port: 9000
- targetPort: 9000
- protocol: TCP
- type: NodePort
- selector:
- app: {{ .Release.Name }}-tools
- release: {{ .Release.Name }}
diff --git a/deploy/kubernetes/helm/values.yaml.template
b/deploy/kubernetes/helm/values.yaml.template
index 61daf04..dfbdd1f 100644
--- a/deploy/kubernetes/helm/values.yaml.template
+++ b/deploy/kubernetes/helm/values.yaml.template
@@ -36,9 +36,25 @@ imagePullPolicy: IfNotPresent
# Number of replicas for the job binary in bookkeeper
jobReplicas: 1
-# amount of memory to provide for API server
-apiServerMemory: 512M
-heron:
+apiServer:
+ # amount of memory to provide for API server
+ memory: 512M
+ nodePort:
+ enabled: false
+ # port can be left empty and Kubernetes will assign a random NodePort
+ port:
+
+tracker:
+ nodePort:
+ enabled: false
+ # port can be left empty and Kubernetes will assign a random NodePort
+ port:
+
+ui:
+ nodePort:
+ enabled: false
+ # port can be left empty and Kubernetes will assign a random NodePort
+ port:
# set to `-` to set base-url to the default k8s proxy URL
# set to `null` to remove the use of base_url
url: "-"