summaryrefslogtreecommitdiffstats
path: root/clover/tools/yaml/cassandra.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'clover/tools/yaml/cassandra.yaml')
-rw-r--r--clover/tools/yaml/cassandra.yaml99
1 files changed, 99 insertions, 0 deletions
diff --git a/clover/tools/yaml/cassandra.yaml b/clover/tools/yaml/cassandra.yaml
new file mode 100644
index 0000000..dc1c46f
--- /dev/null
+++ b/clover/tools/yaml/cassandra.yaml
@@ -0,0 +1,99 @@
+#
+#
+# The addition below can be executed after the invocation of
+# the original service_delivery_controller_opnfv.yaml
+# by invoking:
+# % kubectl create -f <(istioctl kube-inject --debug -f cassandra.yaml)
+#
+#
+#
+# Cassandra Statefulset
+#
+# Assumption:
+# - The Cassandra Statefulset right now assumes that
+# the service is deployed in the 'default' namespace
+# therefore the environment variable CASSANDRA_SEEDS is set to
+# "cassandra-0.cassandra.default.svc.cluster.local" below.
+# if you want to use your own name space other than 'default'
+# the value becomes:
+# "cassandra-0.cassandra.<NAMESPACE_NAME>.svc.cluster.local"
+# note that this value rely on a functioning DNS on kubernetes to resolve the IP
+#
+# This static method can be made dynamic by using Helm
+# or bash script to replace the namespace on the fly.
+#
+# - Cassandra launch only 1 replica in the cluster
+# to dynamically scale up or down, you can use:
+# kubectl edit statefulset cassandra
+# and edit the value of the replica key
+#
+#
+#
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: cassandra
+ name: cassandra
+ namespace: clover-system
+spec:
+ clusterIP: None
+ ports:
+ - port: 9042
+ selector:
+ app: cassandra
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: cassandra
+ labels:
+ app: cassandra
+ namespace: clover-system
+spec:
+ serviceName: cassandra
+ replicas: 1
+ selector:
+ matchLabels:
+ app: cassandra
+ template:
+ metadata:
+ labels:
+ app: cassandra
+ spec:
+ terminationGracePeriodSeconds: 1800
+ containers:
+ - name: cassandra
+ image: cassandra:3
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 7000
+ name: intra-node
+ - containerPort: 7001
+ name: tls-intra-node
+ - containerPort: 7199
+ name: jmx
+ - containerPort: 9042
+ name: cql
+ resources:
+ limits:
+ cpu: "1000m"
+ memory: 5Gi
+ requests:
+ cpu: "1000m"
+ memory: 5Gi
+ env:
+ - name: MAX_HEAP_SIZE
+ value: 512M
+ - name: HEAP_NEWSIZE
+ value: 100M
+ - name: CASSANDRA_SEEDS
+ value: "cassandra-0.cassandra.clover-system.svc.cluster.local"
+ - name: CASSANDRA_CLUSTER_NAME
+ value: "MyCassandraDemo"
+ - name: CASSANDRA_DC
+ value: "DC1-K8Demo"
+ - name: CASSANDRA_RACK
+ value: "Rack1-K8Demo"
+