Kubernetes operator for RisingWave.

Introduction

The RisingWave Kubernetes Operator is a RisingWave deployment management tool based on kubernetes. The risingwave-operator currently supports the following custom resources:

  • risingwave.singularity-data.com
  • risingwave-monitor.singularity-data.com(not implement)

Quick Start

Install cert-manager

We need install cert-manager in cluster before install risingwave-operator.

The default static configuration cert-manager can be installed as follows:

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml

More information on this install cert-manager method can be found here.

Install risingwave-operator

Install risingwave-operator can be installed as follows:

kubectl apply -f https://raw.githubusercontent.com/singularity-data/risingwave-operator/main/config/risingwave-operator.yaml

Examples

You can deploy RisingWave which use MinIO on Linux/amd64 arch nodes as follows:

kubectl create namespace test
kubectl apply -f https://raw.githubusercontent.com/singularity-data/risingwave-operator/main/examples/minio-risingwave-amd.yaml

First Query

Install psql

To connect to the RisingWave server, you will need to install PostgreSQL shell (psql) in advance.

Query

We use kubernetes NodePort service for frontend.

Please get the nodePort of the frontend service as psql port and get the INTERNAL-IP address of any node as follows:

PHOST=`kubectl get node -o=jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}'`
PPORT=`kubectl get service -n test test-risingwave-amd64-frontend -o=jsonpath='{.spec.ports[0].nodePort}'`

Connect to the frontend by psql as follows:

psql -h $PHOST -p $PPORT -d dev

Configuration

You can get risingwave-operator configuration as follows:

kubectl get cm risingwave-operator-controller-manager-config -n risingwave-operator-system -oyaml

If you edit the configmap, please kill the risingwave-operator pods and configuration file will be load.

License

The risingwave-operator is under the Apache License 2.0. Please refer to LICENSE for more information.

Contributing

Thanks for your interest in contributing to the project! Please refer to Contribution and Development Guidelines for more information.

Owner
Singularity Data
Building the next-generation streaming database in the cloud.
Singularity Data
Comments
  • refactor: fix typo: manger -> manager

    refactor: fix typo: manger -> manager

    What's changed and what's your intention?

    fix typo: manger -> manager

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests
  • docs: add installation instructions

    docs: add installation instructions

    What's changed and what's your intention?

    Add installation instructions.

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

    close https://github.com/singularity-data/risingwave-operator/issues/5

  • chore: adjust doc format

    chore: adjust doc format

    What's changed and what's your intention?

    as title

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

  • docs: add CONTRIBUTING.md

    docs: add CONTRIBUTING.md

    What's changed and what's your intention?

    Add a contributing.md file that reflects the current development of this repo.

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

    close https://github.com/singularity-data/risingwave-operator/issues/2

  • chorme:fix grammatical error

    chorme:fix grammatical error

    What's changed and what's your intention?

    fix grammatical error

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

  • ci: add code format and import format check in CI

    ci: add code format and import format check in CI

    What's changed and what's your intention?

    add code format and import format check in CI

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests
  • fix: fix statefulset no replicas

    fix: fix statefulset no replicas

    What's changed and what's your intention?

    fix statefulset no replicas

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

  • feat:support update

    feat:support update

    What's changed and what's your intention?

    PLEASE DO NOT LEAVE THIS EMPTY !!!

    Support update Replicas for components, and add status field for Replicas Please explain IN DETAIL what the changes are in this PR and why they are needed:

    • add Replicas in status
    • do update logic

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

    https://github.com/singularity-data/risingwave-operator/issues/7

  • chore: add create namespace command in readme

    chore: add create namespace command in readme

    What's changed and what's your intention?

    add create namespace command in readme

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests
  • chore: rm image for example

    chore: rm image for example

    What's changed and what's your intention?

    update README.md & remove the image

    Checklist

    • [x] I have written necessary docs and comments
    • [x] I have added necessary unit tests and integration tests

    Refer to a related PR or issue link (optional)

  • bug: cannot delete risingwave because failed calling webhoook

    bug: cannot delete risingwave because failed calling webhoook

    When create or delete risingwave, error from server: Internal error occurred: failed calling webhook "mrisingwave.kb.io": Post "https://127.0.0.1:57355/mutate-risingwave-singularity-data-com-v1alpha1-risingwave?timeout=10s": dial tcp 127.0.0.1:57355: connect: connection refused

    I have met in aws eks and kind cluster, maybe webhook network bug?

  • feat: support risingwave update

    feat: support risingwave update

    We need to support to update risingwave which includes:

    1. Change image to upgrade
    2. Change replicas to scale

    Not Supported in the short term:

    1. Change resource request and limit(VPA)
    2. Change running params
An operator which complements grafana-operator for custom features which are not feasible to be merged into core operator

Grafana Complementary Operator A grafana which complements grafana-operator for custom features which are not feasible to be merged into core operator

Mar 5, 2022
The Elastalert Operator is an implementation of a Kubernetes Operator, to easily integrate elastalert with gitops.

Elastalert Operator for Kubernetes The Elastalert Operator is an implementation of a Kubernetes Operator. Getting started Firstly, learn How to use el

Apr 13, 2022
Minecraft-operator - A Kubernetes operator for Minecraft Java Edition servers

Minecraft Operator A Kubernetes operator for dedicated servers of the video game

May 6, 2022
K8s-network-config-operator - Kubernetes network config operator to push network config to switches

Kubernetes Network operator Will add more to the readme later :D Operations The

May 2, 2022
Pulumi-k8s-operator-example - OpenGitOps Compliant Pulumi Kubernetes Operator Example

Pulumi GitOps Example OpenGitOps Compliant Pulumi Kubernetes Operator Example Pr

May 6, 2022
Test Operator using operator-sdk 1.15

test-operator Test Operator using operator-sdk 1.15 operator-sdk init --domain rbt.com --repo github.com/ravitri/test-operator Writing kustomize manif

Dec 28, 2021
a k8s operator 、operator-sdk

helloworld-operator a k8s operator 、operator-sdk Operator 参考 https://jicki.cn/kubernetes-operator/ https://learnku.com/articles/60683 https://opensour

Jan 27, 2022
Operator Permissions Advisor is a CLI tool that will take a catalog image and statically parse it to determine what permissions an Operator will request of OLM during an install

Operator Permissions Advisor is a CLI tool that will take a catalog image and statically parse it to determine what permissions an Operator will request of OLM during an install. The permissions are aggregated from the following sources:

Apr 22, 2022
The OCI Service Operator for Kubernetes (OSOK) makes it easy to connect and manage OCI services from a cloud native application running in a Kubernetes environment.

OCI Service Operator for Kubernetes Introduction The OCI Service Operator for Kubernetes (OSOK) makes it easy to create, manage, and connect to Oracle

Apr 28, 2022
PolarDB-X Operator is a Kubernetes extension that aims to create and manage PolarDB-X cluster on Kubernetes.

GalaxyKube -- PolarDB-X Operator PolarDB-X Operator is a Kubernetes extension that aims to create and manage PolarDB-X cluster on Kubernetes. It follo

Apr 20, 2022
Kubernetes Operator to sync secrets between different secret backends and Kubernetes

Vals-Operator Here at Digitalis we love vals, it's a tool we use daily to keep secrets stored securely. We also use secrets-manager on the Kubernetes

May 4, 2022
The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes.
The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes.

The NiFiKop NiFi Kubernetes operator makes it easy to run Apache NiFi on Kubernetes. Apache NiFI is a free, open-source solution that support powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

Apr 29, 2022
Kubernetes Operator for a Cloud-Native OpenVPN Deployment.

Meerkat is a Kubernetes Operator that facilitates the deployment of OpenVPN in a Kubernetes cluster. By leveraging Hashicorp Vault, Meerkat securely manages the underlying PKI.

Mar 2, 2022
Modular Kubernetes operator to manage the lifecycle of databases

Ensemble Ensemble is a simple and modular Kubernetes Operator to manage the lifecycle of a wide range of databases. Infrastructure as code with Kubern

Mar 1, 2022
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)

flagger Flagger is a progressive delivery tool that automates the release process for applications running on Kubernetes. It reduces the risk of intro

May 5, 2022
A Kubernetes Operator used for pre-scaling applications in anticipation of load

Pre-Scaling Kubernetes Operator Built out of necessity, the Operator helps pre-scale applications in anticipation of load. At its core, it manages a c

Oct 14, 2021
Kubernetes operator to autoscale Google's Cloud Bigtable clusters
Kubernetes operator to autoscale Google's Cloud Bigtable clusters

Bigtable Autoscaler Operator Bigtable Autoscaler Operator is a Kubernetes Operator to autoscale the number of nodes of a Google Cloud Bigtable instanc

Nov 5, 2021
Kubegres is a Kubernetes operator allowing to create a cluster of PostgreSql instances and manage databases replication, failover and backup.

Kubegres is a Kubernetes operator allowing to deploy a cluster of PostgreSql pods with data replication enabled out-of-the box. It brings simplicity w

May 9, 2022