Cassandra - NoSql Database
deployment.yaml
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: cassandra
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: cassandra
template:
metadata:
labels:
app: cassandra
spec:
containers:
- image: cassandra:4.1.2
env:
- name: MAX_HEAP_SIZE
value: "4096M"
- name: HEAP_NEWSIZE
value: "512M"
imagePullPolicy: IfNotPresent
name: cassandra
ports:
- containerPort: 9042
name: cql
protocol: TCP
resources:
limits:
cpu: "2"
memory: 8Gi
requests:
cpu: "0.5"
memory: 1Gi
volumeMounts:
- mountPath: /var/lib/cassandra
name: vol-cassandra
restartPolicy: Always
volumes:
- name: vol-cassandra
persistentVolumeClaim:
claimName: vol-cassandra
service.yaml
YAML
apiVersion: v1
kind: Service
metadata:
name: cassandra
namespace: default
spec:
ports:
- port: 9042
protocol: TCP
targetPort: 9042
selector:
app: cassandra
type: ClusterIP
volume.yaml
YAML
apiVersion: v1
kind: PersistentVolume
metadata:
labels:
type: local
name: vol-cassandra
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 20Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: vol-cassandra
namespace: default
hostPath:
path: /k3s-volume/cassandra
type: ""
persistentVolumeReclaimPolicy: Retain
storageClassName: cassandra
volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vol-cassandra
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 20Gi
storageClassName: cassandra
volumeMode: Filesystem
volumeName: vol-cassandra