cass-operator | The DataStax Kubernetes Operator for Apache Cassandra

 by   k8ssandra Go Version: v1.15.0 License: Apache-2.0

kandi X-RAY | cass-operator Summary

kandi X-RAY | cass-operator Summary

cass-operator is a Go library typically used in Big Data applications. cass-operator has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

The DataStax Kubernetes Operator for Apache Cassandra. This repository replaces the old [datastax/cass-operator] for use-cases in the k8ssandra project. Some documentation is still out of date and will be modified in the future. Check [k8ssandra/k8ssandra] for more up to date information.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              cass-operator has a low active ecosystem.
              It has 143 star(s) with 50 fork(s). There are 11 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 67 open issues and 269 have been closed. On average issues are closed in 128 days. There are 18 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of cass-operator is v1.15.0

            kandi-Quality Quality

              cass-operator has 0 bugs and 0 code smells.

            kandi-Security Security

              cass-operator has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              cass-operator code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              cass-operator is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              cass-operator releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 23480 lines of code, 1061 functions and 150 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed cass-operator and discovered the below as its top functions. This is intended to give you an instant insight into cass-operator implemented functionality, and help decide if they suit your requirements.
            • checkNodeEMM is used to check the EMMileResult for a given node
            • buildContainers builds cassandra containers
            • newStatefulSetForCassandraDatacenter creates a StatefulSet for a given Cassandra Datacenter .
            • buildPodTemplateSpec returns a shallow copy of the PodTemplateSpec
            • main is the main subcommand .
            • buildInitContainers builds an init container from the given base template
            • ValidateDatacenterFieldChanges validates the fields of a CassandraDatacenter .
            • CreateReconciliationContext creates a new ReconciliationContext
            • Call node mgmt endpoint
            • CheckNetworkPolicies is used to check if a network policy exists
            Get all kandi verified functions for this library.

            cass-operator Key Features

            No Key Features are available at this moment for cass-operator.

            cass-operator Examples and Code Snippets

            No Code Snippets are available at this moment for cass-operator.

            Community Discussions

            QUESTION

            K8ssandra deployment "Error connecting to Node (endPoint=/tmp/cassandra.sock)"
            Asked 2022-Jan-05 at 01:25

            I'm trying to run K8ssandra but the Cassandra container keeps failing with the following message (Repeating over and over):

            ...

            ANSWER

            Answered 2022-Jan-05 at 01:25

            I was able to fix this by increasing the memory to 12Gi

            Source https://stackoverflow.com/questions/70537865

            QUESTION

            upgrade VM for cassandra on GCP
            Asked 2020-Dec-17 at 14:34

            I am moving my MVP application to GCP. It is a general web application with standard database workload (CRUD). I am using cassandra and play, each has its own docker image. I am not expecting much traffic to begin with so would like to start with smaller VMs to keep cost low. I am also using kubernetes operator for Cassandra - https://github.com/datastax/cass-operator

            Would it be possible to change the machine configuration later (CPUs, disk size) for Cassandra when the traffic load increases? Would I have to stop the application completely when I am upgrading or would I be able to do rolling upgrade?

            Any tips on how to approach upgrade later would be most appreciated.

            ...

            ANSWER

            Answered 2020-Dec-17 at 14:34

            Yes, it's possible to change machine configuration later without downtime when using GKE cluster.

            Have a look at the documentation Migrating workloads to different machine types:

            A node pool is a subset of machines that all have the same configuration, including machine type (CPU and memory) authorization scopes. Node pools represent a subset of nodes within a cluster; a container cluster can contain one or more node pools.

            When you need to change the machine profile of your Compute Engine cluster, you can create a new node pool and then migrate your workloads over to the new node pool.

            and

            To migrate your workloads without incurring downtime, you need to:

            • Mark the existing node pool as unschedulable.
            • Drain the workloads running on the existing node pool.
            • Delete the existing node pool.

            Kubernetes, which is the cluster orchestration system of GKE clusters, automatically reschedules the evicted Pods to the new node pool as it drains the existing node pool.

            Note: This tutorial is only applicable if your container does not have Cluster Autoscaling enabled. If the Autoscaler adds or removes nodes while you are attempting a migration, you might not be able to mark all the nodes in the pool as unschedulable and drain them properly.

            Detailed step by step instruction with commands and examples available at the documentation. To disable Cluster Autoscaling you can follow the documentation Disabling autoscaling for an existing node pool:

            Source https://stackoverflow.com/questions/65339651

            QUESTION

            How do I access my Cassandra/Kubernetes cluster from outside the cluster?
            Asked 2020-Jul-18 at 03:00

            I have started using Cass-Operator and the setup worked like a charm! https://github.com/datastax/cass-operator.

            I have an issue though. My cluster is up and running on GCP. But how do I access it from my laptop (basically from outside)? Sorry, I'm new to Kubernetes so I do not know how to access the cluster from outside?

            I can see the nodes are up on the GCP dashboard. I can ping the external IP of the nodes from my laptop but when I run cqlsh external_ip 9042 then the connection fails.

            How do I go about connecting the K8s/Cassandra cluster to outside work so that my web application can access it?

            I would like to:

            1. have a url so that my web application uses that URL to connect to the cassandra/K8s cluster instead of IP address. Thus, I need a dns. Does it come by default in K8S? Would would be the url? Would K8s managing the dns mapping for me in some nodes get restarted?
            2. My web application should be able to reach Cassandra on 9042. It seems load balancing is done for http/https. The Cassandra application is not a http/https request. So I don't need port 80 or 443

            I have read few tutorials which talk about Service, Loadbalancer and Ingress. But I am unable to make a start.

            I created a service like this

            ...

            ANSWER

            Answered 2020-Jun-30 at 08:19

            To output the stable external IP address under loadBalancer:ingress use the following command:

            Source https://stackoverflow.com/questions/62651374

            QUESTION

            What does 2/2 mean in output of kubectl get all -n cass-operator
            Asked 2020-Jul-03 at 14:00

            I have a 3 node Kubernetes cluster and I have set up Cassandra on it using Cass-Operator. I am following the instructions from here - https://github.com/datastax/cass-operator

            What does the 2/2 mean in the output of the following command

            ...

            ANSWER

            Answered 2020-Jul-03 at 14:00

            When you are deploying some application, one pod can have more than 1 container inside. If you will check Kubernetes Pod docs you can find 2 typs:

            Pods that run a single container.

            The "one-container-per-Pod" model is the most common Kubernetes use case; in this case, you can think of a Pod as a wrapper around a single container, and Kubernetes manages the Pods rather than the containers directly.

            Pods that run multiple containers that need to work together.

            A Pod might encapsulate an application composed of multiple co-located containers that are tightly coupled and need to share resources. These co-located containers might form a single cohesive unit of service--one container serving files from a shared volume to the public, while a separate "sidecar" container refreshes or updates those files. The Pod wraps these containers and storage resources together as a single manageable entity.

            More information you can find in this docs.

            How Pod configuration YAML with 2 containers looks like can be found here. In .spec.containers you can specify 2 or more containers.

            Ive deployed those YAMLs.

            Source https://stackoverflow.com/questions/62713598

            QUESTION

            unable to scale down Kubernetes cluster
            Asked 2020-Jul-02 at 06:35

            I have a Cassandra/Kubernetes cluster on GCP

            ...

            ANSWER

            Answered 2020-Jul-02 at 06:29

            Use -n parameter to specify correct namespace where the statfulset is deployed. Without the namespace it's trying to delete from default namespace where the statfulset cluster1-dc1-default-sts does not exist.

            Source https://stackoverflow.com/questions/62690032

            QUESTION

            Is there a command to check which pods have a service applied
            Asked 2020-Jun-30 at 08:54

            I have made a service.yaml and have created the service.

            ...

            ANSWER

            Answered 2020-Jun-30 at 08:14

            You can get pods by querying with selector like following

            Source https://stackoverflow.com/questions/62652525

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install cass-operator

            To create a full featured cluster, the recommend approach is to use the Helm charts from k8ssandra. Check the [Getting started](https://k8ssandra.io/docs/getting-started/) documentation at (k8ssandra.io)[https://k8ssandra.io/docs]. A more custom approach is to use Kustomize as described in the following sections if you wish to use cass-operator only. If updating from previous version, please see Upgrade instructions section first.
            Updates are supported from previous versions of k8ssandra/cass-operator. If upgrading from versions older than 1.7.0 (released under datastax/cass-operator name), please upgrade first to version 1.7.1. The following instructions apply when upgrading from 1.7.1 to 1.8.0 or newer. Due to the modifications to cass-operator’s underlying controller-runtime and updated Kubernetes versions, there is a need to do couple of manual steps before updating to a newest version of cass-operator. Newer Kubernetes versions require stricter validation and as such we need to remove preserveUnknownFields global property from the CRD to allow us to update to a newer CRD. The newer controller-runtime on the other hand modifies the liveness, readiness and configuration options, which require us to delete the older deployment. These commands do not delete your running Cassandra instances. You can now install new version of cass-operator as instructed previously.
            If you have Prometheus installed in your cluster, you can apply the following command to install the Prometheus support:.
            We have tested the cass-operator to work with cert-manager versions 1.3.1, 1.5.3 and 1.7.1. Other versions might work also. To install 1.7.1 to your cluster, run the following command:.
            Almost every build, test, or development task requires the following pre-requisites…​.
            Golang 1.17 or newer
            Docker, either the docker.io packages on Ubuntu, Docker Desktop for Mac, or your preferred docker distribution. Other container engines such as podman should work also.
            Kind or similar Kubernetes distribution for testing (Docker Desktop / Minikube will work if correct StorageClass is added)

            Support

            If you wish to file a bug, enhancement proposal or have other questions, use the issues in this repository or in the [k8ssandra/k8ssandra](https://github.com/k8ssandra/k8ssandra) repository. PRs should target this repository and you can link the PR to issue repository with k8ssandra/k8ssandra#ticketNumber syntax. For other means of contacting, check [k8ssandra community](https://k8ssandra.io/community/) resources.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries