April 2018
Intermediate to advanced
468 pages
14h 34m
English
When running Cassandra nodes as pods in Kubernetes, Kubernetes may move pods around, including seeds. To accommodate that, a Cassandra seed provider needs to interact with the Kubernetes API server.
Here is a short snippet from the custom KubernetesSeedProvider Java class that implements the Cassandra SeedProvider API:
public class KubernetesSeedProvider implements SeedProvider { ... /** * Call kubernetes API to collect a list of seed providers * @return list of seed providers */ public List<InetAddress> getSeeds() { String host = getEnvOrDefault("KUBERNETES_PORT_443_TCP_ADDR", "kubernetes.default.svc.cluster.local"); String port = getEnvOrDefault("KUBERNETES_PORT_443_TCP_PORT", "443"); String serviceName = getEnvOrDefault("CASSANDRA_SERVICE", ...Read now
Unlock full access