This repository extends the PubSub+ Software Event Broker on Kubernetes Quickstart to show you how to install a Solace PubSub+ Software Event Broker in various configurations onto a Pivotal Container Service (PKS) cluster.
The recommended software event broker version is 9.4 or later.
The Solace PubSub+ Platform's software event broker efficiently streams event-driven information between applications, IoT devices and user interfaces running in the 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.
Solace PubSub+ Software Event Broker can be deployed in either a three-node High-Availability (HA) group, or as a single-node standalone deployment. For simple test environments that need only to validate application functionality, a single instance will suffice. Note that in production, or any environment where message loss cannot be tolerated, an HA deployment is required.
Detailed documentation of deploying PubSub+ in a general Kubernetes environment is provided in the Solace PubSub+ Software Event Broker in Kubernetes Documentation.
Consult the Deployment Considerations when planning your deployment, then follow these steps to deploy.
Perform any prerequisites to access PKS v1.4 or later from your command-line environment. For specific details, refer to your PKS platform's documentation.
Tasks may include:
- Get access to a platform which supports PKS, such as VMware Enterprise PKS
- Install Kubernetes
kubectl
tool. - Install the PKS CLI client and log in.
- Create a PKS cluster. Follow the CPU and memory requirements of your event broker's target deployment configuration
- Configure any necessary environment settings and install certificates
- Fetch the credentials of the PKS cluster
- Perform any necessary setup and configure access if using a private Docker image registry, such as Harbor
- Perform any necessary setup and configure access if using a Helm chart repository, such as Harbor
Verify access to your PKS cluster and the available nodes by running kubectl get nodes -o wide
from your environment.
We recommend using the Kubernetes Helm tool to manage the deployment.
Refer to the Install and configure Helm section of the PubSub+ Kubernetes Quickstart.
Step 3 (Optional): Load the PubSub+ Software Event Broker Docker image to private Docker image registry
Hint: You may skip the rest of this step if not using Harbor or other private Docker registry. The free PubSub+ Software Event Broker Standard Edition is available from the public Docker Hub registry, the image reference is solace/solace-pubsub-standard:<TagName>
.
To get the event broker Docker image URL, go to the Solace Developer Portal and download the Solace PubSub+ Software Event Broker as a docker image or obtain your version from Solace Support.
PubSub+ Software Event Broker Standard Docker Image |
PubSub+ Software Event Broker Enterprise Evaluation Edition Docker Image |
---|---|
Free, up to 1k simultaneous connections, up to 10k messages per second |
90-day trial version, unlimited |
Download Standard docker image | Download Evaluation docker image |
If using Harbor for private Docker registry, use the upload_harbor.sh
script from this repo.
Prerequisites:
- Local installation of Docker is required
- Project with a user configured exists in Harbor
- Docker is logged in to the Harbor server as user
- Docker Notary is configured for Harbor if using signed images. Consult your Harbor documentation for details.
Script options and arguments:
- PUBSUBPLUS_IMAGE_URL: You can pass the PubSub+ image reference as a public Docker image location (default is
solace/solace-pubsub-standard:latest
) or a Http download Url (the PubSub+ imagemd5
checksum must also be available from the Http download Url). - HARBOR_HOST: hostname of the Harbor server
- HARBOR_PROJECT: configured project name on the Harbor server
- DOCKER_CONTENT_TRUST: if using signed images set the
DOCKER_CONTENT_TRUST=1
- DOCKER_CONTENT_TRUST_SERVER: also set if using signed images
wget https://raw.githubusercontent.com/SolaceProducts/pubsubplus-pks-quickstart/master/scripts/upload_harbor.sh
chmod +x upload_harbor.sh
# Define variables up-front to be passed to the "upload_harbor" script:
[PUBSUBPLUS_IMAGE_URL=<docker-repo-or-download-link>] \
HARBOR_HOST=<hostname> \
[HARBOR_PROJECT=<project>] \
[DOCKER_CONTENT_TRUST=[0|1] \
[DOCKER_CONTENT_TRUST_SERVER=<full-server-url-with-port>] \
./upload_harbor.sh
## Example-1: upload the latest from Docker Hub to Harbor
HARBOR_HOST=<harbor-server> ./upload_harbor.sh
## Example-2: upload from a Http Url to Harbor
HARBOR_HOST=<harbor-server> \
PUBSUBPLUS_IMAGE_URL=https://<server-location>/solace-pubsub-standard-9.4.0.118-docker.tar.gz ./upload_harbor.sh
Note that additional steps may be required if using signed images - follow the prompts.
The script will end with showing the "Harbor image location" in <your-image-location>:<your-image-tag>
format and this shall be passed to the PubSub+ deployment parameters image.repository
and image.tag
respectively.
For general additional information, refer to the Using private registries section in the PubSub+ Kubernetes Documentation.
From here follow the steps in the PubSub+ Software Event Broker in Kubernetes Quickstart to deploy a single-node or an HA event broker.
Refer to the detailed PubSub+ Kubernetes documentation for:
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
See the list of contributors who participated in this project.
This project is licensed under the Apache License, Version 2.0. - See the LICENSE file for details.
For more information about Solace technology in general please visit these resources:
- The Solace Developer Portal website at: solace.dev
- Understanding Solace technology
- Ask the Solace community.