feat: add more services
This commit is contained in:
15
src/cassandra/Makefile
Normal file
15
src/cassandra/Makefile
Normal file
@@ -0,0 +1,15 @@
|
||||
HELM_RELEASE_NAME ?= cassandra
|
||||
HELM_APPLICATION_NAME ?= cassandra
|
||||
HELM_NAMESPACE ?= cassandra
|
||||
HELM_DIR ?= ./helm
|
||||
HELM_CHART_VERSION ?=
|
||||
HELM_VALUES_FILE ?= ./values.yaml
|
||||
HELM_OCI_REGISTRY ?=
|
||||
HELM_OCI_NAMESPACE ?=
|
||||
HELM_OCI_USERNAME ?=
|
||||
HELM_OCI_PASSWORD ?=
|
||||
HELM_REPO_NAME ?= k8ssandra
|
||||
HELM_REPO_URL ?= https://helm.k8ssandra.io/stable
|
||||
HELM_CHART_REPO ?= $(HELM_REPO_NAME)/k8ssandra-operator
|
||||
|
||||
include ../_template/base.mk
|
||||
82
src/cassandra/README.md
Normal file
82
src/cassandra/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Apache Cassandra (K8ssandra)
|
||||
|
||||
## Introduction
|
||||
|
||||
Apache Cassandra is an open-source distributed NoSQL database management system designed to handle large amounts of data across many commodity servers. This deployment uses K8ssandra Operator, which provides a Kubernetes-native way to manage Cassandra clusters.
|
||||
|
||||
K8ssandra is a cloud-native distribution of Apache Cassandra that runs on Kubernetes. It includes automation for operational tasks such as repairs, backups, and monitoring.
|
||||
|
||||
## Installation
|
||||
|
||||
To install Cassandra, run:
|
||||
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
After installation, you can create a Cassandra cluster:
|
||||
|
||||
```bash
|
||||
# Check if operator is running
|
||||
kubectl get pods -n cassandra
|
||||
|
||||
# Create a Cassandra cluster
|
||||
kubectl apply -f - <<EOF
|
||||
apiVersion: k8ssandra.io/v1alpha1
|
||||
kind: K8ssandraCluster
|
||||
metadata:
|
||||
name: demo
|
||||
namespace: cassandra
|
||||
spec:
|
||||
cassandra:
|
||||
serverVersion: "4.0.1"
|
||||
datacenters:
|
||||
- metadata:
|
||||
name: dc1
|
||||
size: 3
|
||||
storageConfig:
|
||||
cassandraDataVolumeClaimSpec:
|
||||
storageClassName: standard
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
config:
|
||||
jvmOptions:
|
||||
heapSize: 1Gi
|
||||
EOF
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
The default configuration includes:
|
||||
|
||||
- K8ssandra Operator for managing Cassandra clusters
|
||||
- Support for Cassandra 4.x
|
||||
- Medusa for backup management
|
||||
- Reaper for repair scheduling
|
||||
- Metrics collection via Prometheus
|
||||
|
||||
## Features
|
||||
|
||||
- **Automated Repairs**: Reaper handles repair scheduling
|
||||
- **Backup/Restore**: Medusa provides backup and restore capabilities
|
||||
- **Monitoring**: Integrated Prometheus metrics
|
||||
- **Multi-DC Support**: Deploy across multiple data centers
|
||||
|
||||
## Connecting to Cassandra
|
||||
|
||||
```bash
|
||||
# Get CQLSH access
|
||||
kubectl exec -it demo-dc1-default-sts-0 -n cassandra -c cassandra -- cqlsh
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
To uninstall:
|
||||
|
||||
```bash
|
||||
make uninstall
|
||||
```
|
||||
82
src/cassandra/README.zh.md
Normal file
82
src/cassandra/README.zh.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Apache Cassandra (K8ssandra)
|
||||
|
||||
## 简介
|
||||
|
||||
Apache Cassandra 是一个开源的分布式 NoSQL 数据库管理系统,设计用于在大量商用服务器上处理大量数据。此部署使用 K8ssandra Operator,它提供了一种 Kubernetes 原生的方式来管理 Cassandra 集群。
|
||||
|
||||
K8ssandra 是 Apache Cassandra 的云原生发行版,可在 Kubernetes 上运行。它包括修复、备份和监控等运维任务的自动化。
|
||||
|
||||
## 安装
|
||||
|
||||
安装 Cassandra:
|
||||
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
|
||||
## 使用
|
||||
|
||||
安装完成后,您可以创建 Cassandra 集群:
|
||||
|
||||
```bash
|
||||
# 检查 operator 是否运行
|
||||
kubectl get pods -n cassandra
|
||||
|
||||
# 创建 Cassandra 集群
|
||||
kubectl apply -f - <<EOF
|
||||
apiVersion: k8ssandra.io/v1alpha1
|
||||
kind: K8ssandraCluster
|
||||
metadata:
|
||||
name: demo
|
||||
namespace: cassandra
|
||||
spec:
|
||||
cassandra:
|
||||
serverVersion: "4.0.1"
|
||||
datacenters:
|
||||
- metadata:
|
||||
name: dc1
|
||||
size: 3
|
||||
storageConfig:
|
||||
cassandraDataVolumeClaimSpec:
|
||||
storageClassName: standard
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
config:
|
||||
jvmOptions:
|
||||
heapSize: 1Gi
|
||||
EOF
|
||||
```
|
||||
|
||||
## 配置
|
||||
|
||||
默认配置包括:
|
||||
|
||||
- 用于管理 Cassandra 集群的 K8ssandra Operator
|
||||
- 支持 Cassandra 4.x
|
||||
- Medusa 用于备份管理
|
||||
- Reaper 用于修复调度
|
||||
- 通过 Prometheus 收集指标
|
||||
|
||||
## 功能
|
||||
|
||||
- **自动修复**: Reaper 处理修复调度
|
||||
- **备份/恢复**: Medusa 提供备份和恢复功能
|
||||
- **监控**: 集成的 Prometheus 指标
|
||||
- **多 DC 支持**: 跨多个数据中心部署
|
||||
|
||||
## 连接 Cassandra
|
||||
|
||||
```bash
|
||||
# 获取 CQLSH 访问
|
||||
kubectl exec -it demo-dc1-default-sts-0 -n cassandra -c cassandra -- cqlsh
|
||||
```
|
||||
|
||||
## 卸载
|
||||
|
||||
卸载:
|
||||
|
||||
```bash
|
||||
make uninstall
|
||||
```
|
||||
28
src/cassandra/values.yaml
Normal file
28
src/cassandra/values.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
# K8ssandra Operator Configuration
|
||||
# https://github.com/k8ssandra/k8ssandra-operator
|
||||
|
||||
# Operator configuration
|
||||
replicaCount: 1
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
|
||||
# Medusa backup configuration
|
||||
medusa:
|
||||
enabled: false
|
||||
|
||||
# Prometheus monitoring
|
||||
monitoring:
|
||||
enabled: false
|
||||
|
||||
# Cluster-wide configuration
|
||||
clusterScoped: false
|
||||
|
||||
# Webhook configuration
|
||||
webhook:
|
||||
enabled: false
|
||||
Reference in New Issue
Block a user