This is an automated email from the ASF dual-hosted git repository.
suvasude pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git
The following commit(s) were added to refs/heads/master by this push:
new da03be1 [GOBBLIN-906] Initializes kubernetes cluster for GaaS and
Gobblin Standalone
da03be1 is described below
commit da03be141c8b774a70a953c1aff08a788094137e
Author: William Lo <[email protected]>
AuthorDate: Wed Oct 23 16:37:41 2019 -0700
[GOBBLIN-906] Initializes kubernetes cluster for GaaS and Gobblin Standalone
Closes #2760 from Will-Lo/add-k8-gaas
---
.../gobblin-service/basic-cluster/application.yaml | 79 ++++++++++++++++++++++
.../gobblin-service/basic-cluster/ingress.yaml | 8 +++
.../gobblin-service/basic-cluster/storage.yaml | 54 +++++++++++++++
3 files changed, 141 insertions(+)
diff --git a/gobblin-kubernetes/gobblin-service/basic-cluster/application.yaml
b/gobblin-kubernetes/gobblin-service/basic-cluster/application.yaml
new file mode 100644
index 0000000..65ed8c1
--- /dev/null
+++ b/gobblin-kubernetes/gobblin-service/basic-cluster/application.yaml
@@ -0,0 +1,79 @@
+# In the future, build the kubernetes cluster from the official docker account
+# Also ensure that proper tagging/versioning is done i.e. remove :latest tag
and instead use the digest of the container
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: 'gaas-deployment'
+ labels:
+ app: gaas-deployment
+spec:
+ selector:
+ matchLabels:
+ app: gaas
+ replicas: 1
+ template:
+ metadata:
+ name: 'gaas'
+ labels:
+ app: gaas
+ spec:
+ volumes:
+ - name: 'shared-jobs'
+ persistentVolumeClaim:
+ claimName: shared-jobs-claim
+ - name: 'shared-template-catalogs'
+ persistentVolumeClaim:
+ claimName: shared-template-catalogs-claim
+ containers:
+ - name: gobblin-service
+ image: will97/gobblin-as-a-service:latest
+ volumeMounts:
+ - name: shared-jobs
+ mountPath: /tmp/gobblin-service/jobs
+ - name: shared-template-catalogs
+ mountPath: /tmp/templateCatalog
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: 'gobblin-standalone-deployment'
+ labels:
+ app: gobblin-standalone-deployment
+spec:
+ selector:
+ matchLabels:
+ app: gobblin-standalone
+ replicas: 1
+ template:
+ metadata:
+ name: 'gobblin-standalone'
+ labels:
+ app: gobblin-standalone
+ spec:
+ volumes:
+ - name: 'shared-jobs'
+ persistentVolumeClaim:
+ claimName: shared-jobs-claim
+ containers:
+ - name: gobblin-standalone
+ image: will97/gobblin-standalone:latest
+ volumeMounts:
+ - name: shared-jobs
+ mountPath: /tmp/gobblin-standalone/jobs
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: gaas-svc
+ labels:
+ app: gobblin-service
+spec:
+ type: ClusterIP
+ ports:
+ - protocol: TCP
+ port: 6956
+ targetPort: 6956
+ selector:
+ app: gaas
diff --git a/gobblin-kubernetes/gobblin-service/basic-cluster/ingress.yaml
b/gobblin-kubernetes/gobblin-service/basic-cluster/ingress.yaml
new file mode 100644
index 0000000..7c8f99c
--- /dev/null
+++ b/gobblin-kubernetes/gobblin-service/basic-cluster/ingress.yaml
@@ -0,0 +1,8 @@
+apiVersion: networking.k8s.io/v1beta1
+kind: Ingress
+metadata:
+ name: gaas-ingress
+spec:
+ backend:
+ serviceName: gaas-svc
+ servicePort: 6956
\ No newline at end of file
diff --git a/gobblin-kubernetes/gobblin-service/basic-cluster/storage.yaml
b/gobblin-kubernetes/gobblin-service/basic-cluster/storage.yaml
new file mode 100644
index 0000000..0765f98
--- /dev/null
+++ b/gobblin-kubernetes/gobblin-service/basic-cluster/storage.yaml
@@ -0,0 +1,54 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: shared-jobs-volume
+spec:
+ capacity:
+ storage: 100Mi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Delete
+ storageClassName: manual
+ hostPath:
+ path: "/etc/opt/job-conf"
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: shared-jobs-claim
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: manual
+ resources:
+ requests:
+ storage: 100Mi
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: shared-template-catalogs-volume
+spec:
+ capacity:
+ storage: 50Mi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Delete
+ storageClassName: manual
+ hostPath:
+ path: "/tmp/templateCatalog"
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: shared-template-catalogs-claim
+spec:
+ accessModes:
+ - ReadWriteOnce
+ storageClassName: manual
+ resources:
+ requests:
+ storage: 50Mi
+