shukla2009 / helm-pubsubplus-ha

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solace PubSub+ Software Event Broker - Helm Chart

The Solace PubSub+ Platform's software event broker efficiently streams event-driven information between applications, IoT devices and user interfaces running in cloud, on-premises, and hybrid environments using open APIs and protocols like AMQP, JMS, MQTT, REST and WebSocket. It can be installed into a variety of public and private clouds, PaaS, and on-premises environments, and brokers in multiple locations can be linked together in an event mesh to dynamically share events across the distributed enterprise.

Overview

This chart bootstraps a single-node or HA deployment of a Solace PubSub+ Software Event Broker on a Kubernetes cluster using the Helm package manager.

Detailed documentation is provided in the Solace PubSub+ Software Event Broker on Kubernetes Documentation.

Prerequisites

  • Kubernetes 1.10 or later platform with adequate CPU and memory and storage resources for the targeted scaling tier requirements
  • Helm package manager v2 or v3 client installed and configured with Tiller deployed if using Helm v2. Helm v3 is recommended, examples in this document use v3.
  • If using a private Docker registry, load the PubSub+ Software Event Broker Docker image and for signed images create an image pull secret
  • With persistent storage enabled (see in Configuration):
    • Specify a storage class unless using a default storage class in your Kubernetes cluster

Also review additional deployment considerations.

Create a deployment

helm repo add solacecharts https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts
helm install my-release solacecharts/pubsubplus-ha

Use a deployment

Obtain information about the deployment and services:

helm status my-release

Refer to the detailed PubSub+ Kubernetes documentation for:

Delete a deployment

helm delete my-release
kubectl get pvc | grep data-my-release
# Delete any PVCs related to my-release

Important: Ensure to delete existing PVCs if reusing the same deployment name for a clean new deployment.

Configuration

The following table lists the configurable parameters of the PubSub+ chart and their default values. For a detailed discussion refer to the Deployment Considerations in the PubSub+ Kubernetes documentation.

There are several ways to customize the deployment:

  • Override default values using the --set key=value[,key=value] argument to helm install. For example,
helm install my-release \
  --set solace.redundancy=true,solace.usernameAdminPassword=secretpassword \
  solacecharts/pubsubplus-ha
  • Another option is to create a YAML file containing the values to override and pass that to Helm:
# Create file
echo "# Overrides:
solace:
  redundancy: true
  usernameAdminPassword: secretpassword" > my-values.yaml
# Now use the file:
helm install --name my-release -f my-values.yaml solacecharts/pubsubplus-ha

Note: as an alternative to creating a new file you can download the values.yaml file with default values and edit that for overrides.

For more ways to override default chart values, refer to Customizing the Helm Chart Before Installing.

Parameter Description Default
nameOverride Kubernetes objects will be named as <release-name>-nameOverride Undefined, default naming is <release-name>-<chart-name>
fullnameOverride Kubernetes objects will be named as fullnameOverride Undefined, default naming is <release-name>-<chart-name>
solace.redundancy true will create a single-node non-HA deployment; true will create an HA deployment with Primary, Backup and Monitor nodes true
solace.size Event broker connection scaling. Options: dev (requires minimum resources but no guaranteed performance), prod100, prod1k, prod10k, prod100k, prod200k prod100
solace.usernameAdminPassword The password for the "admin" management user. Will autogenerate it if not provided. Important: refer to the the information from helm status how to retrieve it and use it for helm upgrade. Undefined, meaning autogenerate
solace.timezone Timezone setting for the PubSub+ container. Valid values are tz database time zone names. Undefined, default is UTC
image.repository The docker repo name and path to the Solace Docker image solace/solace-pubsub-standard from public DockerHub
image.tag The Solace Docker image tag. It is recommended to specify an explicit tag for production use For possible tags, refer to the Solace Docker Hub repo latest
image.pullPolicy Image pull policy IfNotPresent
image.pullSecretName Name of the ImagePullSecret to be used with the Docker registry Undefined, meaning no ImagePullSecret used
securityContext.enabled true enables to using defined fsGroup and runAsUser. Set to false if fsGroup and runAsUser conflict with PodSecurityPolicy or Openshift SCC settings. true meaning fsGroup and runAsUser used
securityContext.fsGroup Specifies fsGroup in pod security context set to default non-zero id 1000002
securityContext.runAsUser Specifies runAsUser in pod security context set to default PubSub+ appuser id 1000001
serviceAccount.create true will create a service account dedicated to the deployment in the namespace true
serviceAccount.name Refer to https://helm.sh/docs/topics/chart_best_practices/rbac/#using-rbac-resources Undefined
tls.enabled Enable to use TLS to access exposed broker services false (not enabled)
tls.serverCertificatesSecret Name of the Kubernetes Secret that contains the certificates - required if TLS is enabled Undefined
tls.certFilename Name of the Certificate file in the serverCertificatesSecret tls.crt
tls.certKeyFilename Name of the Key file in the serverCertificatesSecret tls.key
service.type How to expose the service: options include ClusterIP, NodePort, LoadBalancer LoadBalancer
service.annotations service.annotations allows to add provider-specific service annotations Undefined
service.ports Define PubSub+ service ports exposed. servicePorts are external, mapping to cluster-local pod containerPorts initial set of frequently used ports, refer to values.yaml
storage.persistent false to use ephemeral storage at pod level; true to request persistent storage through a StorageClass true, false is not recommended for production use
storage.slow true to indicate slow storage used, e.g. for NFS. false
storage.customVolumeMount customVolumeMount can be used to specify a YAML fragment how the data volume should be mounted instead of using a storage class. Undefined
storage.useStorageClass Name of the StorageClass to be used to request persistent storage volumes Undefined, meaning to use the "default" StorageClass for the Kubernetes cluster
storage.size Size of the persistent storage to be used; Refer to the Solace documentation for storage configuration requirements 30Gi

About


Languages

Language:Mustache 100.0%