mysocialapp / kubernetes-helm-chart-cassandra Goto Github PK
View Code? Open in Web Editor NEWKubernetes Helm Chart for Cassandra
License: GNU General Public License v3.0
Kubernetes Helm Chart for Cassandra
License: GNU General Public License v3.0
First I'd like to say I really appreciate you putting this together. I ran into a couple of issues getting this to work. I don't mind creating my own docker images for cassandra that include duplicity however I wanted to make sure I wasn't missing something first.
The default image and tag for the statefulset in this chart is: quay.io/mysocialapp/cassandra:3.11.3-1
.
Hi,
I am new to this cassandra_exporter. I have a Cassandra in my Kubernetes cluster. Now I am planning to fetch the Cassandra logs to Prometheus. I have tried to deployed ../kubernetes/templates/ yaml's. But we are getting many error like, missing of api versio, and unknown '{','}' and etc. Can you please let me know, how can I fetch my cassandra logs to Prometheus.
Regards,
Subin
Thanks again for putting this together.
I had to create a role, rolebinding, service account, and update cassandraReaper and backups in order to use Reaper and the Backups cronjob. Both use kubectl exec
which in the default
namespace is not included.
Cassandra pod seem to be up and running
cassandra-1 2/2 Running 0 1h
cassandra-2 2/2 Running 0 1h
I'm also able to get Prometheus to scrape the metrics.
But I'm not able to use cassandra. Janus cannot connect to it. It works fine with default Kubernetes statefulset example but not when I replace it with this helm chart.
com.netflix.astyanax.connectionpool.exceptions.TokenRangeOfflineException: TokenRangeOfflineException: [host=10.2.14.17(10.2.14.17):9160, latency=2(2), attempts=1]UnavailableException()
at com.netflix.astyanax.thrift.ThriftConverter.ToConnectionPoolException(ThriftConverter.java:165)
at com.netflix.astyanax.thrift.AbstractOperationImpl.execute(AbstractOperationImpl.java:65)
it looks like Cassandra uses a different port as per the service (9042). I did edit the service to map 9160 to 9042 to try to make Janus happy, but no luck
And I'm not able to run nodetool status for troubleshooting:
bash: nodetool: command not found
In other charts I found that it's generally a convention to use the release name in the resource name. Example:
my-release-cassandra-0
So that we can have multiple installations in the same namespace.
my-releaseX-cassandra-0
my-releaseY-cassandra-0
I've been trying to make that work by editing the templates and using kubernetes.fullname in resource names. Example:
kind: Service
metadata:
name: {{ template "kubernetes.fullname" . }}
namespace: {{ .Release.Namespace }}
I had to edit the name in statefulset and edit the configmap to replace kubernetes.name
with kubernetes.fullname
as well as the service selector. But my pod can't reach the seed, so I must be doing something wrong
Is there a recommended way to use this chart so that it is not dependent on being installed in a new namespace? It would be very useful
I would prefer not to have to alter the templates like I did if possible
Is it possible to use this chart with SSL encryption ?
The truststore and keystore files could be mounted as a kuberntes secret.
kubectl create secret cassandra-secret --from-file=cassandra.truststore.jks --from-file=cassandra.keystore.jks
And similarly voume and volume mount can be attached to the statefulset.yaml
volume:
- name: cassandra-certificates
secret:
name: cassandra-certificates
volumeMounts:
- name: cassandra-certificates
mountPath: /opt/cassandra/certs
Quick search show there are two Cassandra charts available: yours and:
https://github.com/helm/charts/tree/master/incubator/cassandra
Can we merge features of both into official repo ?
It seems some settings are missing in values.yaml
Error: render error in "cassandra/templates/cassandraExporterConfigmap.yaml": template: cassandra/templates/cassandraExporterConfigmap.yaml:1:14: executing "cassandra/templates/cassandraExporterConfigmap.yaml" at <.Values.cassandraAle...>: can't evaluate field alertsEnabled in type interface {}
Hello,
I have a 3 node cassandra cluster with my service.yaml using NodePort, when I use my java client outside of kubernetes to connect to the cluster, it tries to connect to each host so it can load balance tasks but the problem I have is the IP:PORT returned for all hosts except for the one I provide to establish connection return their Kubernetes Internal IP and Ports which the client cannot connect to.
I see two problems, the first is that there is a single service for the cassandra cluster where I can only define 1 node port making it impossible to assign a unique node port value to each node. Secondly using Stateful service I don't see a way to provide broadcast IP and PORT for each node allowing me to make external connections to to each cluster node.
The default service yaml for this chart uses ClusterIP, with NodePort issues set a side, does this chart make it possible to provide unique broadcast IP:Ports for each POD the stateful set creates?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.