Kubernetes operator for RisingWave.

Overview

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.

Issues
  • 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
    opened by KeXiangWang 1
  • 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

    opened by Sunt-ing 1
  • 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)

    opened by Sunt-ing 1
  • 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

    opened by Sunt-ing 1
  • 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)

    opened by Nebulazhang 0
  • 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
    enhancement 
    opened by KeXiangWang 0
  • 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)

    opened by Nebulazhang 0
  • 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

    opened by Nebulazhang 0
  • 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
    opened by KeXiangWang 0
  • 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)

    opened by Nebulazhang 0
  • 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?

    opened by Nebulazhang 0
  • 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
    opened by Nebulazhang 0
Owner
Singularity Data
Building the next-generation streaming database in the cloud.
Singularity Data
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

Snapp Cab Incubators 2 Mar 5, 2022
kube-champ 33 Apr 21, 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

null 18 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

James Laverack 6 May 10, 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

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

Pulumi GitOps Example OpenGitOps Compliant Pulumi Kubernetes Operator Example Pr

Christian Hernandez 3 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

Ravi Trivedi 0 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

Mark YiL 0 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:

International Business Machines 2 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

Oracle 15 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

null 52 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

digitalis.io 45 May 17, 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. Apache NiFI is a free, open-source solution that support powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

konpyutaika 20 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.

Oliver Borchert 30 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

Tesera 42 Mar 1, 2022
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

Flux project 3.6k May 17, 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

Container Solutions 24 Oct 14, 2021
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

RD Station 22 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

Reactive Tech Ltd 989 May 9, 2022