k3s/examples/storage/cassandra/java
chrislovecnm 07f751956d - updates to docker
- updating java to 3.7
- added pet set example
- adding pet set for Cassandra e2e tests
- changed service as we do not want a lb service, as we are running C*
- updated docs

fixing headers and adding exception for run.sh

adding documentation, thank god for reflog

Did not mean to commit that as the README ... fixing

fixing problems in README

fixing more problems in README

more README tweaks

munge updates

updating examples_test for PetSet in Cassandra examples

updating petset to no use better security context
2016-09-06 19:57:37 -06:00
..
src Consolidated examples into storage/ and volume/ folders 2016-07-08 13:34:32 -07:00
.gitignore Consolidated examples into storage/ and volume/ folders 2016-07-08 13:34:32 -07:00
README.md Update the latestReleaseBranch to release-1.4 in the munger. 2016-09-01 14:40:55 -07:00
pom.xml - updates to docker 2016-09-06 19:57:37 -06:00

README.md

WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version.

The latest release of this document can be found [here](http://releases.k8s.io/release-1.4/examples/storage/cassandra/java/README.md).

Documentation for other releases can be found at releases.k8s.io.

Cassandra on Kubernetes Custom Seed Provider: releases.k8s.io/HEAD

Within any deployment of Cassandra a Seed Provider is used to for node discovery and communication. When a Cassandra node first starts it must discover which nodes, or seeds, for the information about the Cassandra nodes in the ring / rack / datacenter.

This Java project provides a custom Seed Provider which communicates with the Kubernetes API to discover the required information. This provider is bundled with the Docker provided in this example.

Configuring the Seed Provider

The following environment variables may be used to override the default configurations:

ENV VAR DEFAULT VALUE NOTES
KUBERNETES_PORT_443_TCP_ADDR kubernetes.default.svc.cluster.local The hostname of the API server
KUBERNETES_PORT_443_TCP_PORT 443 API port number
CASSANDRA_SERVICE cassandra Default service name for lookup
POD_NAMESPACE default Default pod service namespace
K8S_ACCOUNT_TOKEN /var/run/secrets/kubernetes.io/serviceaccount/token Default path to service token

Using

If no endpoints are discovered from the API the seeds configured in the cassandra.yaml file are used.

Provider limitations

This Cassandra Provider implements SeedProvider. and utilizes SimpleSnitch. This limits a Cassandra Ring to a single Cassandra Datacenter and ignores Rack setup. Datastax provides more documentation on the use of SNITCHES. Further development is planned to expand this capability.

This in affect makes every node a seed provider, which is not a recommended best practice. This increases maintenance and reduces gossip performance.

Analytics