Giter Club home page Giter Club logo

k8ssandra-operator's Introduction

K8ssandra Operator

This is the Kubernetes operator for K8ssandra.

K8ssandra is a Kubernetes-based distribution of Apache Cassandra that includes several tools and components that automate and simplify configuring, managing, and operating a Cassandra cluster.

K8ssandra includes the following components:

K8ssandra 1.x is configured, packaged, and deployed via Helm charts. Those Helm charts can be found in the k8ssandra repo.

K8ssandra 2.x will be based on the this operator.

One of the primary features of this operator is multi-cluster support which will facilitate multi-region Cassandra clusters.

Architecture

The K8ssandra operator is being developed with multi-cluster support first and foremost in mind. It can be used seamlessly in a single-cluster deployments as well.

K8sandra Operator consists of a control plane and a data plane. The control plane creates and manages object that exist only in the api server. The control plane does not deploy or manage pods.

Note: The control plane can be installed in only one cluster, i.e., the control plane cluster.

The data plane can be installed on any number of clusters. The control plane cluster can also function as the data plane.

The data plane deploys and manages pods. Moreover, the data plane may interact directly with the managed applications. For example, the operator calls the management-api to create keyspaces in Cassandra.

Diagram

In this diagram you can see a small example of a multi-cluster deployment.

Requirements

It is required to have routable pod IPs between Kubernetes clusters; however this requirement may be relaxed in the future.

If you are running in a cloud provider, you can get routable IPs by installing the Kubernetes clusters in the same VPC.

If you run multiple kind clusters locally, you will have routable pod IPs assuming that they run on the same Docker network which is normally the case. We leverage this for our multi-cluster e2e tests.

Installing the operator

See the install guide.

Contributing

For more info on getting involved with K8ssandra, please check out the k8ssandra community page.

The remainder of this section focuses on development of the operator itself.

Community

Check out the full K8ssandra docs at k8ssandra.io.

Start or join a forum discussion at forum.k8ssandra.io.

Join us on Discord here.

For anything specific to K8ssandra 1.x, please create the issue in the k8ssandra repo.

Development

See the development guide.

Dependencies

For information on the packaged dependencies of K8ssandra Operator and their licenses, check out our open source report.

k8ssandra-operator's People

Contributors

jsanda avatar adejanovski avatar adutra avatar miles-garnsey avatar burmanm avatar jdonenine avatar jeffreyscarpenter avatar emerkle826 avatar jeffbanks avatar msmygit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.