Installation guide for Kubernetes
Accelario Masking can run in Kubernetes.
The application is loaded from docker hub image named accelario/masking:latest
The application exposes port 8080
inside the container. The outside port can be configured to any by your existing Kubernetes infrastructure.
The persistent(stateful) part of the application is located in /work/mongo
directory. It is crucial to configure storing it outside of the container. In the following file, we are using AWS EFS. Any other type of persistent volumes can be used instead.
A sample file to start the application in Kubernetes cluster:
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: accelario-masking
name: accelario-masking
spec:
replicas: 1
selector:
matchLabels:
app: accelario-masking
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: accelario-masking
spec:
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
terminationGracePeriodSeconds: 30
volumes:
- name: ${EFS_VOLUME_NAME}
persistentVolumeClaim:
claimName: efs-storage-claim
image: accelario/masking:latest
imagePullPolicy: IfNotPresent
name: accelario-masking
volumeMounts:
- mountPath: /work/mongo/
name: ${EFS_VOLUME_NAME}
subPath: ${SOME_PATH_INSIDE_EFS_VOLUME}
securityContext: {}
resources:
limits:
cpu: 250m
memory: 4096Mi
requests:
cpu: 250m
memory: 4096Mi
---
apiVersion: v1
kind: Service
metadata:
labels:
app: accelario-masking
name: accelario-masking
spec:
ports:
- port: 8080
selector:
app: accelario-masking
type: NodePort