GithubHelp home page GithubHelp logo

msuszko-vertex / pulsar-resources-operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from streamnative/pulsar-resources-operator

0.0 0.0 0.0 301 KB

License: Apache License 2.0

Shell 23.86% Go 67.62% Makefile 5.91% Smarty 1.73% Dockerfile 0.89%

pulsar-resources-operator's Introduction

Overview

The Pulsar Resources Operator is a controller that manages the Pulsar resources automatically using the manifest on Kubernetes. Therefore, you can manage the Pulsar resources without the help of pulsar-admin or pulsarctl CLI tool. It is useful for initializing basic resources when creating a new Pulsar cluster.

Currently, the Pulsar Resources Operator provides full lifecycle management for the following Pulsar resources, including creation, update, and deletion.

  • Tenants
  • Namespaces
  • Topics
  • Permissions

Installation

The Pulsar Resources Operator is an independent controller, it doesn’t need to be installed with the pulsar operator. You can install it when you need the feature. And it is built with the Operator SDK, which is part of the Operator framework.

You can install the Pulsar Resources Operator using the officially supported pulsar-resources-operator Helm chart. It provides Custom Resource Definitions (CRDs) and Controllers to manage the Pulsar resources.

Prerequisites

  • Install kubectl (v1.16 - v1.24), compatible with your cluster (+/- 1 minor release from your cluster).
  • Install Helm (v3.0.2 or higher).
  • Prepare a Kubernetes cluster (v1.16 - v1.24).
  • Prepare a Pulsar cluster

Install Pulsar Resources Operator

To install the Pulsar Resources Operator, follow these steps.

  1. Add the StreamNative chart repository.

    helm repo add streamnative https://charts.streamnative.io
    helm repo update
  2. Create a Kubernetes namespace.

    kubectl create namespace <k8s-namespace>

    Note

    You can skip this step if you specify a Kubernetes namespace via the -- create-namespace <k8s-namespace> option when you install the operator.

  3. Install the operator using the pulsar-resources-operator Helm chart.

    helm -n <k8s-namespace> install <release-name> streamnative/pulsar-resources-operator
  4. Verify that the operator is installed successfully

    kubectl -n <k8s-namespace> get pods

    Expected outputs:

    NAME                                          READY       STATUS           RESTARTS      AGE
    <release-name>-pulsar-resources-operator      1/1         Running          0             2m2s

Upgrade Pulsar Resources Operator

To upgrade the operator, execute the following command.

helm repo update
helm -n <k8s-namespace> upgrade <release-name> streamnative/pulsar-resources-operator

Uninstall Pulsar Resources Operator

To uninstall the operator, execute the following command.

helm -n <k8s-namespace> uninstall <release-name>

Tutorial

This tutorial guides you through creating Pulsar resources. You can create Pulsar resources automatically by applying resource manifest files to the Kubernetes.

Before creating Pulsar resources, you must create a resource called PularConnection. The PulsarConnection covers the address of the Pulsar cluster and the authentication information. You can use this information to access a Pulsar cluster to create other resources.

In this tutorial, a Kubernetes namespace called test is used for examples, which is the namespace that the pulsar cluster installed.

pulsar-resources-operator's People

Contributors

fushuwang avatar sara-hannigan avatar sherlock113 avatar yaalsn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.