diff --git a/Federated-Deployment/kubernetes/README.md b/Federated-Deployment/kubernetes/README.md new file mode 100644 index 0000000000000000000000000000000000000000..447daa46a159c43ba88715c4ac95a4fab8300448 --- /dev/null +++ b/Federated-Deployment/kubernetes/README.md @@ -0,0 +1,2 @@ +# Deploy exareme with Kubernetes + diff --git a/Federated-Deployment/kubernetes/exareme-keystore.yaml b/Federated-Deployment/kubernetes/exareme-keystore.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d9e907db627cb7b1f9d3dad1e4de8308466673f7 --- /dev/null +++ b/Federated-Deployment/kubernetes/exareme-keystore.yaml @@ -0,0 +1,49 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: exareme-keystore-deployment + labels: + app: exareme-keystore +spec: + replicas: 1 + selector: + matchLabels: + app: exareme-keystore + template: + metadata: + labels: + app: exareme-keystore + spec: + nodeSelector: + nodeType: master + containers: + - name: exareme-keystore + image: bitnami/consul:1.8.3 + ports: + - containerPort: 8500 + env: + - name: CONSUL_AGENT_MODE + value: "server" + - name: CONSUL_BOOTSTRAP_EXPECT + value: "1" + - name: CONSUL_CLIENT_LAN_ADDRESS + value: "0.0.0.0" + - name: CONSUL_ENABLE_UI + value: "true" + + +--- + +apiVersion: v1 +kind: Service +metadata: + name: exareme-keystore-service +spec: + type: LoadBalancer + selector: + app: exareme-keystore + ports: + - protocol: TCP + port: 8500 + targetPort: 8500 + nodePort: 30000 \ No newline at end of file diff --git a/Federated-Deployment/kubernetes/exareme-master.yaml b/Federated-Deployment/kubernetes/exareme-master.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4a0b3672a7acf4863cbd471d3c4d63977ab6347c --- /dev/null +++ b/Federated-Deployment/kubernetes/exareme-master.yaml @@ -0,0 +1,63 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: exareme-master-deployment + labels: + app: exareme-master +spec: + replicas: 1 + selector: + matchLabels: + app: exareme-master + template: + metadata: + labels: + app: exareme-master + spec: + nodeSelector: + nodeType: master + containers: + - name: exareme-master + image: hbpmip/exareme:24.1.2 + ports: + - containerPort: 9090 + volumeMounts: + - mountPath: /root/exareme/data + name: csvs + env: + - name: CONSULURL + value: "exareme-keystore-service:8500" + - name: FEDERATION_ROLE + value: "master" + - name: NODE_NAME + value: "master" + - name: TEMP_FILES_CLEANUP_TIME + value: "30" + - name: NODE_COMMUNICATION_TIMEOUT + value: "30000" + - name: ENVIRONMENT_TYPE + value: "PROD" + - name: LOG_LEVEL + value: "INFO" + - name: CONVERT_CSVS + value: "TRUE" + volumes: + - name: csvs + hostPath: + path: /etc/exareme + +--- + +apiVersion: v1 +kind: Service +metadata: + name: exareme-master-service +spec: + type: LoadBalancer + selector: + app: exareme-master + ports: + - protocol: TCP + port: 9090 + targetPort: 9090 + nodePort: 30090 diff --git a/Federated-Deployment/kubernetes/exareme-worker.yaml b/Federated-Deployment/kubernetes/exareme-worker.yaml new file mode 100644 index 0000000000000000000000000000000000000000..74a2c9e84dc4fdf29e9ef5bb54123028a5f02f92 --- /dev/null +++ b/Federated-Deployment/kubernetes/exareme-worker.yaml @@ -0,0 +1,59 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: exareme-worker-deployment + labels: + app: exareme-worker +spec: + replicas: 2 + selector: + matchLabels: + app: exareme-worker + template: + metadata: + labels: + app: exareme-worker + spec: + nodeSelector: + nodeType: worker + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - exareme-worker + topologyKey: "kubernetes.io/hostname" + containers: + - name: exareme-worker + image: hbpmip/exareme:24.1.2 + ports: + - containerPort: 9090 + volumeMounts: + - mountPath: /root/exareme/data + name: csvs + env: + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: CONSULURL + value: "exareme-keystore-service:8500" + - name: FEDERATION_ROLE + value: "worker" + - name: TEMP_FILES_CLEANUP_TIME + value: "30" + - name: NODE_COMMUNICATION_TIMEOUT + value: "30000" + - name: ENVIRONMENT_TYPE + value: "PROD" + - name: LOG_LEVEL + value: "INFO" + - name: CONVERT_CSVS + value: "TRUE" + volumes: + - name: csvs + hostPath: + path: /etc/exareme