From 3cb0b7446f72e8d9a040e9e7d4a52f998cf73e57 Mon Sep 17 00:00:00 2001 From: sabbir-hossain70 <103355337+sabbir-hossain70@users.noreply.github.com> Date: Thu, 23 Jan 2025 10:54:00 +0600 Subject: [PATCH] Add article for Cassandra (#261) Signed-off-by: Sabbir --- .idea/vcs.xml | 6 + .idea/website.iml | 4 + .idea/workspace.xml | 50 ++-- .../hero.jpg | Bin 0 -> 111063 bytes .../index.md | 246 ++++++++++++++++++ 5 files changed, 286 insertions(+), 20 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 .idea/website.iml create mode 100644 content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/hero.jpg create mode 100644 content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/index.md diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/website.iml b/.idea/website.iml new file mode 100644 index 0000000000..7ee078df7b --- /dev/null +++ b/.idea/website.iml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index e34e323112..da1b90f3c9 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -17,35 +17,45 @@ - + {} + { + "isMigrated": true +} + { + "associatedIndex": 1 +} - { + "keyToString": { + "RunOnceActivity.ShowReadmeOnStart": "true", + "RunOnceActivity.git.unshallow": "true", + "RunOnceActivity.go.formatter.settings.were.checked": "true", + "RunOnceActivity.go.migrated.go.modules.settings": "true", + "RunOnceActivity.go.modules.automatic.dependencies.download": "true", + "RunOnceActivity.go.modules.go.list.on.any.changes.was.set": "true", + "git-widget-placeholder": "cassandra", + "go.import.settings.migrated": "true", + "go.sdk.automatically.set": "true", + "last_opened_file_path": "/home/user/go/src/kubedb.dev/website/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator", + "node.js.detected.package.eslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "nodejs_package_manager_path": "npm" } -}]]> +} + + + + + - diff --git a/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/hero.jpg b/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77c9a998a25126a533e8e9d9824249a7edb651c6 GIT binary patch literal 111063 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

5c0%!S<}kFb(TL;tMgxY+U5i!66Byf&_W)1P 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 literal 0 HcmV?d00001 diff --git a/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/index.md b/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/index.md new file mode 100644 index 0000000000..5dc3242285 --- /dev/null +++ b/content/articles/deploy-cassandra-via-kubernetes-cassandra-operator/index.md @@ -0,0 +1,246 @@ +--- +title: Deploy Cassandra via Kubernetes Cassandra Operator +Description: Get started with your containerized Cassandra deployment. Learn how to deploy Cassandra database effortlessly using Kubernetes Cassandra Operator. +alt: Cassandra Operator +date: "2025-01-15" +--- + +# Deploy Cassandra via Kubernetes Cassandra Operator + +![Kubernetes Cassandra Operator](./hero.jpg "Cassandra Operator") + +In today’s cloud-first era, the need for highly-available, scalable databases is more critical than ever. The industry-leading container orchestration platform, Kubernetes, is well-known for effectively administering containerized workloads. For stateless applications, it makes deployment and scaling easier, but stateful services, like databases, need additional tools to be deployed. **Kubernetes Cassandra Operator** — a tool that makes this complex process much easier and simpler by setting up and maintaining Cassandra databases in a Kubernetes environment. + +In this article, we will have an overview of the Cassandra database setup by using the Kubernetes Cassandra operator managed by [KubeDB](https://kubedb.com/). We will also have a look at the features and advantages of the KubeDB Cassandra operator in the Kubernetes environment. + +## Why Cassandra in Kubernetes +Kubernetes is an open-source technology. It was created specifically for container orchestration. It provides a standardized method for managing the lifetime of containers, automating their deployment, and guaranteeing their dependability and availability. For businesses looking to create scalable, robust, and effective cloud-native apps, Kubernetes has become the go-to option. + +Apache Cassandra is a popular NoSQL database. It is widely used for applications that require high read and write throughput. It was made to manage massive volumes of data across multiple nodes. It is popular for its high availability, fault tolerance, and no single point of failure. + +By combining Cassandra's scalability and fault tolerance with Kubernetes' orchestration capabilities, Cassandra in Kubernetes allows for smooth deployment, scaling, and management. Kubernetes ensures high availability and portability across environments by automating resource allocation, monitoring, and self-healing. It is perfect for contemporary, distributed applications since it incorporates Cassandra into the cloud-native ecosystem and supports tools for monitoring, backups, and CI/CD. + +## Deploy Cassandra on Kubernetes +### Pre-requisites +We have to configure the environment to deploy Cassandra on Kubernetes using a Kubernetes Cassandra operator. You need to have a Kubernetes cluster. You should have the basic knowledge of Kubernetes concepts like cluster, pod, service, secret and also have a primary knowledge of [Cassandra](https://cassandra.apache.org/_/index.html) database. Here, we will use [Kind](https://kubernetes.io/docs/tasks/tools/#kind) to create our Kubernetes cluster. Also, we will need to install [Helm](https://helm.sh/docs/intro/install/) to our Kubernetes cluster. + +In this article, We will use the Kubernetes Cassandra operator [KubeDB](https://kubedb.com/) to deploy Cassandra on Kubernetes. But before starting, you must ensure that KubeDB is already installed in your Kubernetes cluster. For using KubeDB on Kubernetes cluster, a license is needed, which you can obtain for free from the [Appscode License Server](https://license-issuer.appscode.com/). To get this license, you'll need the Kubernetes cluster ID. You can find this ID by running the command we have provided below. + + +```bash +$ kubectl get ns kube-system -o jsonpath='{.metadata.uid}' +e5b4a1a0-5a67-4657-b370-db7200108cae +``` + +After providing the necessary information and hitting the submit button, the license server will email a "license.txt" file. To install KubeDB, run the following commands: + +```bash +$ helm install kubedb oci://ghcr.io/appscode-charts/kubedb \ + --version v2025.1.9 \ + --namespace kubedb --create-namespace \ + --set-file global.license=/path/to/the/license.txt \ + --wait --burst-limit=10000 --debug \ + --set global.featureGates.cassandra=true +``` + + +Verify the installation by the following command: + +```bash +$ kubectl get pods --all-namespaces -l "app.kubernetes.io/instance=kubedb" +NAMESPACE NAME READY STATUS RESTARTS AGE +kubedb kubedb-kubedb-autoscaler-7d98f45f84-fhtcj 1/1 Running 0 5m +kubedb kubedb-kubedb-ops-manager-64bdc96d99-85xhz 1/1 Running 0 5m +kubedb kubedb-kubedb-provisioner-c765ffcd5-5fzxc 1/1 Running 0 5m +kubedb kubedb-kubedb-webhook-server-7b97d992f8-m8cxw 1/1 Running 0 5m +kubedb kubedb-petset-operator-6b5fddcd9-wl2dp 1/1 Running 0 5m +kubedb kubedb-petset-webhook-server-59ff65f4fd-tf52g 2/2 Running 0 5m +kubedb kubedb-sidekick-f8674fc4f-qkstf 1/1 Running 0 5m +``` +Within a short time all the pods in kubedb namespace will start running. If all pod statuses are running, we can move on to the next phase. + +For any confusion reguarding KubeDB installation, you can follow the [KubeDB-Setup](https://kubedb.com/docs/latest/setup/) page. + +### Create a Namespace +After that, we'll create a new namespace in which we will deploy Cassandra. In this case, we have created cassandra-demo namespace, but you can create namespace with any name that you want. To create the namespace, we can use the following command: + +```bash +$ kubectl create namespace cassandra-demo +namespace/cassandra-demo created +``` + +### Deploy Cassandra via Kubernetes Cassandra operator +We need to create a yaml configuration to deploy Cassandra database on Kubernetes. We will apply this yaml below: + +```yaml +apiVersion: kubedb.com/v1alpha2 +kind: Cassandra +metadata: + name: cassandra-quickstart + namespace: cassandra-demo +spec: + version: 5.0.0 + topology: + rack: + - name: myrack + replicas: 2 + storageType: Ephemeral + storage: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + podTemplate: + spec: + containers: + - name: cassandra + resources: + limits: + memory: 4Gi + cpu: 4 + requests: + cpu: 1 + memory: 1Gi + deletionPolicy: WipeOut +``` + +We will save this yaml configuration to `cassandra.yaml`. Then create the above Cassandra object. + +```bash +$ kubectl create -f cassandra.yaml +Cassandra.kubedb.com/cassandra-quickstart created +``` + +This will create a cassandra custom resource. The kubernetes Cassandra Operator will watch this and create two pods of Cassandra in the specified namespace. +If all the above steps are handled correctly and the Cassandra is deployed, you will see that the following objects are created: + +```bash +$ kubectl get all -n cassandra-demo +NAME READY STATUS RESTARTS AGE +pod/cassandra-quickstart-0 1/1 Running 0 4m51s +pod/cassandra-quickstart-1 1/1 Running 0 3m23s + +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +service/cassandra-quickstart ClusterIP 10.96.70.253 9042/TCP 5m51s +service/cassandra-quickstart-pods ClusterIP None 9042/TCP 5m51s + +NAME TYPE VERSION AGE +appbinding.appcatalog.appscode.com/cassandra-quickstart kubedb.com/Cassandra 1.6.22 5m51s + +NAME VERSION STATUS AGE +cassandra.kubedb.com/cassandra-quickstart 5.0.0 Ready 5m51s + +``` + +We have successfully deployed Cassandra to Kubernetes via the Kubernetes Cassandra operator. Now, we will connect to the Cassandra database to insert some sample data and verify whether our Cassandra database is usable or not. First, check the database status, + +```bash +$ kubectl get cassandra -n cassandra-demo +NAME VERSION STATUS AGE +cassandra-quickstart 5.0.0 Ready 5m56s +``` + +To connect to the database in this case, we should need the required credentials. Let's export the credentials to our current shell as an environment variable. KubeDB will create Secret and Service for the database `cassandra-cluster` that we have deployed. Let’s check them, + +```bash +$ kubectl get secret -n cassandra-demo -l=app.kubernetes.io/instance=cassandra-quickstart +NAME TYPE DATA AGE +cassandra-quickstart-config Opaque 1 8m1s + +$ kubectl get service -n cassandra-demo -l=app.kubernetes.io/instance=cassandra-quickstart +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +cassandra-quickstart ClusterIP 10.96.70.253 9042/TCP 8m58s +cassandra-quickstart-pods ClusterIP None 9042/TCP 8m58s +``` +### Accessing Database Through CLI + +You must first have the database credentials in order to access your database via the CLI. KubeDB will create several Kubernetes Secrets and Services for your Cassandra Server instance. To view them, use the following commands: + +```bash +$ kubectl get secret -n cassandra-demo -l=app.kubernetes.io/instance=cassandra-quickstart +NAME TYPE DATA AGE +cassandra-quickstart-auth kubernetes.io/basic-auth 2 8m31s +cassandra-quickstart-config Opaque 1 8m31s + + +$ kubectl get service -n cassandra-demo -l=app.kubernetes.io/instance=cassandra-quickstart +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +cassandra-quickstart ClusterIP 10.128.113.192 9042/TCP 8m37s +cassandra-quickstart-pods ClusterIP None 9042/TCP 8m37s +``` + +From the above list, the `cassandra-quickstart-auth` Secret contains the admin-level credentials needed to connect to the database. The credencials are stored as base64 format. So we need to decode those. Use the following commands to obtain the username and password: + +```bash +$ kubectl get secret -n demo cassandra-quickstart-auth -o jsonpath='{.data.username}' | base64 -d +admin +$ kubectl get secret -n demo cassandra-quickstart-auth -o jsonpath='{.data.password}' | base64 -d +dS57E93oLDi5wezv +``` + +### Insert sample data to the Cassandra database +In this section, we are going to login into our Cassandra database pod and insert some sample data. +First of all, we need to connect to this database using cqlsh. A command-line utility called cqlsh is used to communicate with Apache Cassandra through the Cassandra Query Language (CQL). + +```bash +$ kubectl get pods -n cassandra-demo +NAME READY STATUS RESTARTS AGE +cassandra-quickstart-rack-r0-0 1/1 Running 0 13m +cassandra-quickstart-rack-r0-1 1/1 Running 0 12m + +# We will connect to `cassandra-quickstart-0` pod using cqlsh. +$ kubectl exec -it -n cassandra-demo cassandra-quickstart-0 -- cqlsh -u admin -p "dS57E93oLDi5wezv" + +Connected to Test Cluster at 127.0.0.1:9042 +[cqlsh 6.2.0 | Cassandra 5.0.2 | CQL spec 3.4.7 | Native protocol v5] +Use HELP for help. +cqlsh> + +# We have connected to cqlsh. Now we will create a keyspace named `kubedb` and within this `kubedb` keyspace, we will create a table named `users` and insert data into it. +cqlsh> CREATE KEYSPACE kubedb WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; +cqlsh> USE kubedb; +cqlsh:kubedb> CREATE TABLE users ( + ... id UUID PRIMARY KEY, + ... name TEXT + ... ); + +cqlsh:kubedb> INSERT INTO users (id, name, email) VALUES (uuid(), 'cassandra'); +cqlsh:kubedb> INSERT INTO kubedb.users (id, name) VALUES (uuid(), 'cassandra_kubedb'); +cqlsh:kubedb> INSERT INTO kubedb.users (id, name) VALUES (uuid(), 'kubedb_cassandra'); + + +# Now to see the contents of `users` table, we will use another query, and the output will be like below- +cqlsh:kubedb> select * from users; + id | name +--------------------------------------+----------- + 65d2d071-7e65-4f82-b359-021893005a41 | kubedb_cassandra + 0e87779a-ca9c-4007-b281-a975a6991f9f | cassandra + 3c0e0fe8-b342-4cf3-97dc-90e111c3bce9 | cassandra_kubedb + +``` + + +We’ve successfully deployed Cassandra to Kubernetes via Kubernetes Cassandra operator and insert some sample data into it. + +## Cassandra on Kubernetes: Best Practices +Implementing Cassandra on Kubernetes with the Kubernetes Cassandra Operator requires following best practices. These procedures ensure the stability and dependability of your application. To optimize your Cassandra deployment within a Kubernetes environment, adhere to these essential recommendations. + +* **Resource Availablility:** As Cassandra needs resources like CPU and Memory to run properly, so ensure that you have given enough CPU and Memory to your Cassandra pods. Also define resource Requests and Limits efficiently for CPU and Memory. You may also need to monitor cluster's resource usage as well as the resource usage for each pods of Cassandra regularly. + +* **Network Configuration:** For stable network identities and DNS resolution for Cassandra pods in your cluster, you may use Statefulset with headless service. While using network policies, ensure you are using it properly so that you do not mistakenly block communication between Cassandra nodes within the same cluster. + +* **Version Compatibility:** Ensure that the Cassandra version you have decided to use is compatible with the Kubernetes version you are currently using, especially when deploying with the Kubernetes Cassandra Operator. Because compatibility problems can result in unexpected behavior, planning, and extensive testing are essential. For version upgrades, rolling upgrades can be used to minimize disruptions. + +* **Monitoring and Health Checks:** Configure your Cassandra pods for monitoring and health checks. Monitor key metrics such as query performance, CPU utilization, disk I/O, and memory consumption. Visualize performance data using programs like Prometheus and Grafana to see any problems or bottlenecks early. You can have a similar setup of Prometheus like [builtin-prometheus](https://kubedb.com/docs/v2025.1.9/setup/monitoring/builtin-prometheus/) for monitoring .Make proactive use of alerting systems to be informed of irregularities before they affect system availability or performance. Kubernetes provides features for monitoring, whereas Cassandra delivers useful performance indicators. You can proactively find and then fix performance bottlenecks or problems by gathering and evaluating these metrics, guaranteeing peak Cassandra performance. + +* **Disaster Recovery Strategies:** Create a proper disaster recovery strategies for Cassandra to address data corruption, pod failures, and potential cluster-wide outages. By establishing clear, effective recovery plans, you can reduce downtime as well as safeguard data integrity, ensuring continuity even in adverse conditions. + +* **Scalability:** You may need to scale your database based on your need. This can be horizontal scaling or vertical scaling. While scaling, do it carefully, ensuring proper token allocation and data distribution across nodes. + +* **Security Practices:** One may store any sensetive and important data in the database. So, authentication and authorization is a must. You need to properly maintain the security concepts in your cluster. You may apply Password authentication and may need to modify the cassandra.yaml files to configure a proper security configuration. May be you need to use TLS for securing intra-node and client-server communication. You may also need to run Cassandra in a dedicated namespace which is isolated from other Kubernetes workloads. All these security concepts are based on your need and you must make proper decision of which one you want to use for your specific security need. + + +## Conclusion + +Cassandra an open-source and widely used data storage known for its scalability and high availability, especially in case of handling large amounts of data efficiently. By following the above process, you can successfully deploy a Cassandra database on Kubernetes, by utilizing the Kubernetes Cassandra Operator. Effective database maintenance, whether on-premises or in the cloud, requires skills as well as consistent procedures. To ensure that your database management fulfills high performance and availability standards, KubeDB offers a comprehensive suite of support tools. Regardless of whether your database infrastructure is built on cloud-based or database-as-a-service platforms, is hosted locally, or spans numerous regions, KubeDB optimizes and improves the entire process in a production-grade environment. By using kubernetes cassandra operator, one can simplify provisioning, Monitoring, Authentication and the overall process to maintain cassandra database. That is how one can lower administrative burden, increase the manageability, and ensure a better performance for his cassandra cluster.