All Projects → apache → pulsar-helm-chart

apache / pulsar-helm-chart

Licence: other
Official Apache Pulsar Helm Chart

Programming Languages

shell
77523 projects
Smarty
1635 projects
go
31211 projects - #10 most used programming language
Mustache
554 projects

Projects that are alternatives of or similar to pulsar-helm-chart

Pulsar
Apache Pulsar - distributed pub-sub messaging system
Stars: ✭ 10,118 (+8193.44%)
Mutual labels:  streaming, messaging, pubsub, pulsar, queuing, event-streaming
pulsar-adapters
Apache Pulsar Adapters
Stars: ✭ 18 (-85.25%)
Mutual labels:  streaming, messaging, pubsub, pulsar, queuing, event-streaming
pulsar-client-node
Apache Pulsar NodeJS Client
Stars: ✭ 88 (-27.87%)
Mutual labels:  streaming, messaging, pubsub, pulsar, queuing, event-streaming
tgip
TGIP (TGI Pulsar) is a weekly live video streaming about Apache Pulsar and its ecosystem.
Stars: ✭ 17 (-86.07%)
Mutual labels:  messaging, pubsub, pulsar, event-streaming
aop
AMQP on Pulsar protocol handler
Stars: ✭ 93 (-23.77%)
Mutual labels:  messaging, pubsub, pulsar
pulsar-io-kafka
Pulsar IO Kafka Connector
Stars: ✭ 24 (-80.33%)
Mutual labels:  pubsub, pulsar, event-streaming
liftbridge-api
Protobuf definitions for the Liftbridge gRPC API. https://github.com/liftbridge-io/liftbridge
Stars: ✭ 15 (-87.7%)
Mutual labels:  streaming, messaging, pubsub
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Set up once and forever.
Stars: ✭ 5,649 (+4530.33%)
Mutual labels:  streaming, messaging, pubsub
Pulsar Dotpulsar
The official .NET client library for Apache Pulsar
Stars: ✭ 101 (-17.21%)
Mutual labels:  streaming, messaging, pubsub
Liftbridge
Lightweight, fault-tolerant message streams.
Stars: ✭ 2,175 (+1682.79%)
Mutual labels:  streaming, messaging, pubsub
Pulsar Manager
Apache Pulsar Manager
Stars: ✭ 247 (+102.46%)
Mutual labels:  streaming, messaging, pubsub
Pulsar Client Go
Apache Pulsar Go Client Library
Stars: ✭ 251 (+105.74%)
Mutual labels:  streaming, messaging, pubsub
kube-karp
☸ Add a floating virtual IP to Kubernetes cluster nodes for load balancing easily.
Stars: ✭ 104 (-14.75%)
Mutual labels:  helm, helm-chart
helm-charts
Source & Repo of https://charts.kubesphere.io/main & https://charts.kubesphere.io/test
Stars: ✭ 85 (-30.33%)
Mutual labels:  helm, helm-chart
pulsar-user-group-loc-cn
Workspace for China local user group.
Stars: ✭ 19 (-84.43%)
Mutual labels:  streaming, messaging
gobroker
golang wrapper for all (to-be) kinds of message brokers
Stars: ✭ 15 (-87.7%)
Mutual labels:  messaging, pubsub
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (-73.77%)
Mutual labels:  helm, helm-chart
kubehelper
KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface. Search, analysis, run commands, cron jobs, reports, filters, git synchronization and many more.
Stars: ✭ 200 (+63.93%)
Mutual labels:  helm, helm-chart
eirini-release
Helm release for Project Eirini
Stars: ✭ 37 (-69.67%)
Mutual labels:  helm, helm-chart
helm-zabbix
Helm Chart For Zabbix
Stars: ✭ 56 (-54.1%)
Mutual labels:  helm, helm-chart

Official Apache Pulsar Helm Chart

This is the officially supported Helm Chart for installing Apache Pulsar on Kubernetes.

Read Deploying Pulsar on Kubernetes for more details.

Features

This Helm Chart includes all the components of Apache Pulsar for a complete experience.

  • Pulsar core components:
    • ZooKeeper
    • Bookies
    • Brokers
    • Functions
    • Proxies
  • Management & monitoring components:
    • Pulsar Manager
    • Prometheus
    • Grafana

It includes support for:

  • Security
    • Automatically provisioned TLS certs, using Jetstack's cert-manager
    • TLS Encryption
      • Proxy
      • Broker
      • Toolset
      • Bookie
      • ZooKeeper
    • Authentication
      • JWT
      • Mutal TLS
      • Kerberos
    • Authorization
  • Storage
    • Non-persistence storage
    • Persistence Volume
    • Local Persistent Volumes
    • Tiered Storage
  • Functions
    • Kubernetes Runtime
    • Process Runtime
    • Thread Runtime
  • Operations
    • Independent Image Versions for all components, enabling controlled upgrades

Requirements

In order to use this chart to deploy Apache Pulsar on Kubernetes, the followings are required.

  1. kubectl 1.18 or higher, compatible with your cluster (+/- 1 minor release from your cluster)
  2. Helm v3 (3.0.2 or higher)
  3. A Kubernetes cluster, version 1.18 or higher.

Environment setup

Before proceeding to deploying Pulsar, you need to prepare your environment.

Tools

helm and kubectl need to be installed on your computer.

Add to local Helm repository

To add this chart to your local Helm repository:

helm repo add apache https://pulsar.apache.org/charts

To use the helm chart:

helm install <release-name> apache/pulsar

Kubernetes cluster preparation

You need a Kubernetes cluster whose version is 1.18 or higher in order to use this chart, due to the usage of certain Kubernetes features.

We provide some instructions to guide you through the preparation: http://pulsar.apache.org/docs/en/helm-prepare/

Deploy Pulsar to Kubernetes

  1. Clone the Pulsar Helm charts repository.

    git clone https://github.com/apache/pulsar-helm-chart
    cd pulsar-helm-chart
  2. Run prepare_helm_release.sh to create required kubernetes resources for installing this Helm chart.

    • A k8s namespace for installing the Pulsar release (if -c is specified)
    • Create the JWT secret keys and tokens for three superusers: broker-admin, proxy-admin, and admin. By default, it generates asymmetric pubic/private key pair. You can choose to generate symmetric secret key by specifying --symmetric in the following command.
      • proxy-admin role is used for proxies to communicate to brokers.
      • broker-admin role is used for inter-broker communications.
      • admin role is used by the admin tools.
    ./scripts/pulsar/prepare_helm_release.sh -n <k8s-namespace> -k <pulsar-release-name> -c
  3. Use the Pulsar Helm charts to install Apache Pulsar.

    This command installs and starts Apache Pulsar.

    $ helm install <pulsar-release-name> apache/pulsar
  4. Access the Pulsar cluster

    The default values will create a ClusterIP for the proxy you can use to interact with the cluster. To find the IP address of proxy use:

    kubectl get service -n <k8s-namespace>

For more information, please follow our detailed quick start guide.

Customize the deployment

We provide a detailed guideline for you to customize the Helm Chart for a production-ready deployment.

You can also checkout out the example values file for different deployments.

Upgrading

Once your Pulsar Chart is installed, configuration changes and chart updates should be done using helm upgrade.

helm repo add apache https://pulsar.apache.org/charts
helm repo update
helm get values <pulsar-release-name> > pulsar.yaml
helm upgrade -f pulsar.yaml \
    <pulsar-release-name> apache/pulsar

For more detailed information, see our Upgrading guide.

Uninstall

To uninstall the Pulsar Chart, run the following command:

helm delete <pulsar-release-name>

For the purposes of continuity, these charts have some Kubernetes objects that are not removed when performing helm delete. These items we require you to conciously remove them, as they affect re-deployment should you choose to.

  • PVCs for stateful data, which you must consciously remove
    • ZooKeeper: This is your metadata.
    • BookKeeper: This is your data.
    • Prometheus: This is your metrics data, which can be safely removed.
  • Secrets, if generated by our prepare release script. They contain secret keys, tokens, etc. You can use cleanup release script to remove these secrets and tokens as needed.

Troubleshooting

We've done our best to make these charts as seamless as possible, occasionally troubles do surface outside of our control. We've collected tips and tricks for troubleshooting common issues. Please examine these first before raising an issue, and feel free to add to them by raising a Pull Request!

Release Process

  1. Bump the version in charts/pulsar/Chart.yaml.

  2. Send a pull request for reviews.

  3. After the pull request is approved, merge it. The release workflow will be triggered automatically.

    • It creates a tag named pulsar-<version>.
    • Published the packaged helm chart to Github releases.
    • Update the charts/index.yaml in Pulsar website.
  4. Trigger the Pulsar website build to make the release available under https://pulsar.apache.org/charts.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].