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
+

Reply via email to