diff --git a/incubator/spark/.helmignore b/stable/spark/.helmignore similarity index 100% rename from incubator/spark/.helmignore rename to stable/spark/.helmignore diff --git a/incubator/spark/Chart.yaml b/stable/spark/Chart.yaml similarity index 100% rename from incubator/spark/Chart.yaml rename to stable/spark/Chart.yaml diff --git a/incubator/spark/README.md b/stable/spark/README.md similarity index 100% rename from incubator/spark/README.md rename to stable/spark/README.md diff --git a/stable/spark/templates/NOTES.txt b/stable/spark/templates/NOTES.txt new file mode 100644 index 0000000000..d388df70a1 --- /dev/null +++ b/stable/spark/templates/NOTES.txt @@ -0,0 +1,16 @@ +1. Get the Spark URL to visit by running these commands in the same shell: + + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "webui-fullname" . }}' + + export SPARK_SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "webui-fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SPARK_SERVICE_IP:{{ .Values.WebUi.ServicePort }} + +2. Get the Zeppelin URL to visit by running these commands in the same shell: + + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "zeppelin-fullname" . }}' + + export ZEPPELIN_SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "zeppelin-fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$ZEPPELIN_SERVICE_IP:{{ .Values.Zeppelin.ServicePort }} + diff --git a/stable/spark/templates/_helpers.tpl b/stable/spark/templates/_helpers.tpl new file mode 100644 index 0000000000..4eccc22010 --- /dev/null +++ b/stable/spark/templates/_helpers.tpl @@ -0,0 +1,31 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 24 -}} +{{- end -}} + +{{/* +Create fully qualified names. +We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "master-fullname" -}} +{{- $name := default .Chart.Name .Values.Master.Name -}} +{{- printf "%s-%s" .Release.Name $name | trunc 24 -}} +{{- end -}} + +{{- define "webui-fullname" -}} +{{- $name := default .Chart.Name .Values.WebUi.Name -}} +{{- printf "%s-%s" .Release.Name $name | trunc 24 -}} +{{- end -}} + +{{- define "worker-fullname" -}} +{{- $name := default .Chart.Name .Values.Worker.Name -}} +{{- printf "%s-%s" .Release.Name $name | trunc 24 -}} +{{- end -}} + +{{- define "zeppelin-fullname" -}} +{{- $name := default .Chart.Name .Values.Zeppelin.Name -}} +{{- printf "%s-%s" .Release.Name $name | trunc 24 -}} +{{- end -}} \ No newline at end of file diff --git a/incubator/spark/templates/spark-master-deployment.yaml b/stable/spark/templates/spark-master-deployment.yaml similarity index 76% rename from incubator/spark/templates/spark-master-deployment.yaml rename to stable/spark/templates/spark-master-deployment.yaml index a83e42d8ba..4a2ecd88af 100644 --- a/incubator/spark/templates/spark-master-deployment.yaml +++ b/stable/spark/templates/spark-master-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }}" + name: {{ template "master-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} @@ -19,7 +19,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.WebUi.Name | trunc 24 }}" + name: {{ template "webui-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} @@ -38,12 +38,12 @@ spec: apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }}" + name: {{ template "master-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} chart: "{{.Chart.Name}}-{{.Chart.Version}}" - component: "{{.Release.Name}}-{{.Values.Master.Name}}" + component: "{{.Release.Name}}-{{.Values.Master.Component}}" annotations: "helm.sh/created": {{.Release.Time.Seconds | quote }} spec: @@ -62,10 +62,10 @@ spec: component: "{{.Release.Name}}-{{.Values.Master.Component}}" spec: containers: - - name: "{{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }}" + - name: {{ template "master-fullname" . }} image: "{{.Values.Master.Image}}:{{.Values.Master.ImageTag}}" command: ["/bin/sh","-c"] - args: ["echo $(hostname -i) {{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }} >> /etc/hosts; /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master --ip {{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }} --port {{.Values.Master.ServicePort}} --webui-port {{.Values.WebUi.ContainerPort}}"] + args: ["echo $(hostname -i) {{ template "master-fullname" . }} >> /etc/hosts; /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master --ip {{ template "master-fullname" . }} --port {{.Values.Master.ServicePort}} --webui-port {{.Values.WebUi.ContainerPort}}"] ports: - containerPort: {{.Values.Master.ContainerPort}} - containerPort: {{.Values.WebUi.ContainerPort}} diff --git a/incubator/spark/templates/spark-worker-deployment.yaml b/stable/spark/templates/spark-worker-deployment.yaml similarity index 80% rename from incubator/spark/templates/spark-worker-deployment.yaml rename to stable/spark/templates/spark-worker-deployment.yaml index 6d3734c987..1e9d895e3d 100644 --- a/incubator/spark/templates/spark-worker-deployment.yaml +++ b/stable/spark/templates/spark-worker-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.Worker.Name | trunc 24 }}" + name: {{ template "worker-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} @@ -25,9 +25,9 @@ spec: component: "{{.Release.Name}}-{{.Values.Worker.Component}}" spec: containers: - - name: "{{ printf "%s-%s" .Release.Name .Values.Worker.Name | trunc 24 }}" + - name: {{ template "worker-fullname" . }} image: "{{.Values.Worker.Image}}:{{.Values.Worker.ImageTag}}" - command: ["/opt/spark/bin/spark-class", "org.apache.spark.deploy.worker.Worker", "spark://{{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }}:{{.Values.Master.ServicePort}}", "--webui-port", "{{.Values.Worker.ContainerPort}}"] + command: ["/opt/spark/bin/spark-class", "org.apache.spark.deploy.worker.Worker", "spark://{{ template "master-fullname" . }}:{{.Values.Master.ServicePort}}", "--webui-port", "{{.Values.Worker.ContainerPort}}"] ports: - containerPort: {{.Values.Worker.ContainerPort}} resources: diff --git a/incubator/spark/templates/spark-zeppelin-deployment.yaml b/stable/spark/templates/spark-zeppelin-deployment.yaml similarity index 77% rename from incubator/spark/templates/spark-zeppelin-deployment.yaml rename to stable/spark/templates/spark-zeppelin-deployment.yaml index bffecb8d56..041784e543 100644 --- a/incubator/spark/templates/spark-zeppelin-deployment.yaml +++ b/stable/spark/templates/spark-zeppelin-deployment.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.Zeppelin.Name | trunc 24 }}" + name: {{ template "zeppelin-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} @@ -20,7 +20,7 @@ spec: apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: "{{ printf "%s-%s" .Release.Name .Values.Zeppelin.Name | trunc 24 }}" + name: {{ template "zeppelin-fullname" . }} labels: heritage: {{.Release.Service | quote }} release: {{.Release.Name | quote }} @@ -44,10 +44,10 @@ spec: component: "{{.Release.Name}}-{{.Values.Zeppelin.Component}}" spec: containers: - - name: "{{ printf "%s-%s" .Release.Name .Values.Zeppelin.Name | trunc 24 }}" + - name: {{ template "zeppelin-fullname" . }} image: "{{.Values.Zeppelin.Image}}:{{.Values.Zeppelin.ImageTag}}" command: ["/bin/sh","-c"] - args: ["sed -i.bak s/spark-master:7077/{{ printf "%s-%s" .Release.Name .Values.Master.Name | trunc 24 }}:{{.Values.Master.ServicePort}}/g /opt/zeppelin/conf/zeppelin-env.sh; /opt/zeppelin/bin/docker-zeppelin.sh"] + args: ["sed -i.bak s/spark-master:7077/{{ template "master-fullname" . }}:{{.Values.Master.ServicePort}}/g /opt/zeppelin/conf/zeppelin-env.sh; /opt/zeppelin/bin/docker-zeppelin.sh"] ports: - containerPort: {{.Values.Zeppelin.ContainerPort}} resources: diff --git a/incubator/spark/values.yaml b/stable/spark/values.yaml similarity index 91% rename from incubator/spark/values.yaml rename to stable/spark/values.yaml index a984e61877..7672e4bd5c 100644 --- a/incubator/spark/values.yaml +++ b/stable/spark/values.yaml @@ -4,7 +4,7 @@ # name: value Master: - Name: spark-master + Name: master Image: "gcr.io/google_containers/spark" ImageTag: "1.5.1_v3" Replicas: 1 @@ -17,12 +17,12 @@ Master: #DaemonMemory: 1g WebUi: - Name: spark-webui + Name: webui ServicePort: 8080 ContainerPort: 8080 Worker: - Name: spark-worker + Name: worker Image: "gcr.io/google_containers/spark" ImageTag: "1.5.1_v3" Replicas: 3 @@ -36,7 +36,7 @@ Worker: #ExecutorMemory: 1g Zeppelin: - Name: zeppelin-controller + Name: zeppelin Image: "gcr.io/google_containers/zeppelin" ImageTag: "v0.5.5_v2" Replicas: 1