Skip to content

Commit

Permalink
Doc updates after release.
Browse files Browse the repository at this point in the history
  • Loading branch information
bczoma committed Jul 25, 2023
1 parent 19077b8 commit eaff36e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 73 deletions.
63 changes: 3 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
[![Actions Status](https://github.com/Solace/pubsubplus-openshift-quickstart/workflows/build/badge.svg?branch=master)](https://github.com/SolaceProducts/pubsubplus-openshift-quickstart/actions?query=workflow%3Abuild+branch%3Amaster)

# Deploying a Solace PubSub+ Software Event Broker using Operator onto an OpenShift 4 Platform

The Solace PubSub+ Event Broker Operator (Operator) is a Kubernetes-native method to install and manage the lifecycle of a PubSub+ Software Event Broker on any Kubernetes platform including OpenShift.
Expand All @@ -10,7 +8,7 @@ This repository extends the [Solace PubSub+ Event Broker Operator on Kubernetes]

Contents:
- [Deploying a Solace PubSub+ Software Event Broker using Operator onto an OpenShift 4 Platform](#deploying-a-solace-pubsub-software-event-broker-using-operator-onto-an-openshift-4-platform)
- [Description of the Solace PubSub+ Software Event Broker](#solace-pubsub-software-event-broker)
- [Solace PubSub+ Software Event Broker](#solace-pubsub-software-event-broker)
- [Overview](#overview)
- [Step 1: Set Up OpenShift](#step-1-set-up-openshift)
- [Step 2: Install the PubSub+ Event Broker Operator](#step-2-install-the-pubsub-event-broker-operator)
Expand Down Expand Up @@ -40,62 +38,7 @@ There are [multiple ways](https://www.openshift.com/try ) to set up an OpenShift

## Step 2: Install the PubSub+ Event Broker Operator

The certified PubSub+ Event Broker Operator is available in OpenShift from the integrated OperatorHub. Follow [Adding Operators to a cluster](https://docs.openshift.com/container-platform/latest/operators/admin/olm-adding-operators-to-cluster.html) in the OpenShift documentation to locate and install the "PubSub+ Event Broker Operator".

```bash
# BEGIN: For internal use only, DELETE when publishing
# Pre-requisite: Docker login into the private registry that hosts the Operator image
# Run: docker login ghcr.io/solacedev, test locally to ensure it works: docker pull ghcr.io/solacedev/pubsubplus-eventbroker-operator:test

# Create CatalogSource. First need to create pullsecret
oc create secret generic regcred --from-file=.dockerconfigjson=${HOME}/.docker/config.json --type=kubernetes.io/dockerconfigjson -n openshift-marketplace
# Apply manifest - note the namespace "openshift-marketplace"
cat <<EOF | oc apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: solace-catalog
namespace: openshift-marketplace
spec:
sourceType: grpc
image: ghcr.io/solacedev/pubsubplus-eventbroker-operator-v1beta1-catalog:latest
grpcPodConfig:
securityContextConfig: restricted
secrets:
- regcred
displayName: Solace Catalog
publisher: Solace
updateStrategy:
registryPoll:
interval: 10m
EOF
# Wait about a minute. Test if PackageManifest has been created
oc get packagemanifest -n openshift-marketplace | grep pubsubplus

# Create pullsecret here - note the namespace "openshift-operators"
oc create secret generic regcred --from-file=.dockerconfigjson=${HOME}/.docker/config.json --type=kubernetes.io/dockerconfigjson -n openshift-operators
# Now use the Console or CLI, refer to the OpenShift documentation.
# CLI example: create a subscription
cat <<EOF | oc apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: sub-to-pubsubplus-eventbroker-operator
namespace: openshift-operators
spec:
channel: stable
name: pubsubplus-eventbroker-operator
source: solace-catalog
sourceNamespace: openshift-marketplace
installPlanApproval: Automatic
EOF
# Wait a few minutes then check status of the InstallPlan
kubectl get ip -n openshift-operators
# Check if operator pod is starting in operators namespace
kubectl get pods -n openshift-operators --watch

# END: internal use
```
The certified PubSub+ Event Broker Operator is available in OpenShift from the [integrated OperatorHub catalog](https://catalog.redhat.com/software/search?p=1&vendor_name=Solace%20Corporation). Follow [Adding Operators to a cluster](https://docs.openshift.com/container-platform/latest/operators/admin/olm-adding-operators-to-cluster.html) in the OpenShift documentation to locate and install the "PubSub+ Event Broker Operator".

## Step 3: Deploy the PubSub+ Software Event Broker

Expand All @@ -104,7 +47,7 @@ Create a new OpenShift project. It is not recommended to use the `default` proje
oc new-project solace-pubsubplus
```

From here follow the steps in the [Solace PubSub+ Event Broker Operator Quick Start Guide](https://github.com/SolaceDev/pubsubplus-kubernetes-operator#3-install-the-solace-pubsub-software-event-broker-with-default-configuration) to deploy a single-node or an HA event broker.
From here follow the steps in the [Solace PubSub+ Event Broker Operator Quick Start Guide](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart#3-pubsub-software-event-broker-deployment-examples) to deploy a single-node or an HA event broker.

>Note: the Operator recognizes the OpenShift environment and adjusts the default deployment `spec` parameters for the event broker, including the use of certified RedHat images. For more information, refer to the [detailed documentation](docs/PubSubPlusOpenShiftDeployment.md#broker-spec-defaults-in-openshift) in this repo.
Expand Down
26 changes: 13 additions & 13 deletions docs/PubSubPlusOpenShiftDeployment.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Deploying a Solace PubSub+ Software Event Broker Onto an OpenShift 4 Platform Using Operator

This document provides platform-specific information for deploying the [Solace PubSub+ Software Event Broker](https://solace.com/products/event-broker/software/) on OpenShift, using the Solace PubSub+ Event Broker Operator (Operator). It complements and should be used together with the [Solace PubSub+ Event Broker Operator User Guide](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md), which has instructions for Kubernetes in general.
This document provides platform-specific information for deploying the [Solace PubSub+ Software Event Broker](https://solace.com/products/event-broker/software/) on OpenShift, using the Solace PubSub+ Event Broker Operator (Operator). It complements and should be used together with the [Solace PubSub+ Event Broker Operator User Guide](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md), which has instructions for Kubernetes in general.

Contents:
- [Deploying a Solace PubSub+ Software Event Broker Onto an OpenShift 4 Platform Using Operator](#deploying-a-solace-pubsub-software-event-broker-onto-an-openshift-4-platform-using-operator)
Expand All @@ -9,20 +9,20 @@ Contents:
- [Deploying a Production-Ready OpenShift Container Platform onto AWS](#deploying-a-production-ready-openshift-container-platform-onto-aws)
- [Deleting the AWS OpenShift Container Platform Deployment](#deleting-the-aws-openshift-container-platform-deployment)
- [Deploying CodeReady Containers for OpenShift](#deploying-codeready-containers-for-openshift)
- [Using a Private Image Registry for broker and Prometheus exporter images](#using-a-private-image-registry-for-broker-and-prometheus-exporter-images)
- [Using a Private Image Registry for Broker and Prometheus Exporter Images](#using-a-private-image-registry-for-broker-and-prometheus-exporter-images)
- [Using AWS ECR with CodeReady Containers](#using-aws-ecr-with-codeready-containers)
- [Deployment considerations](#deployment-considerations)
- [Broker Spec defaults in OpenShift](#broker-spec-defaults-in-openshift)
- [Deployment Considerations](#deployment-considerations)
- [Broker Spec Defaults in OpenShift](#broker-spec-defaults-in-openshift)
- [Accessing Broker Services](#accessing-broker-services)
- [Routes](#routes)
- [HTTP, no TLS](#http-no-tls)
- [HTTPS with TLS terminate at ingress](#https-with-tls-terminate-at-ingress)
- [HTTPS with TLS re-encrypt at ingress](#https-with-tls-re-encrypt-at-ingress)
- [General TCP over TLS with passthrough to broker](#general-tcp-over-tls-with-passthrough-to-broker)
- [HTTP With No TLS](#http-with-no-tls)
- [HTTPS With TLS (Terminate at Ingress)](#https-with-tls-terminate-at-ingress)
- [HTTPS with TLS (Re-encrypt at Ingress)](#https-with-tls-re-encrypt-at-ingress)
- [General TCP over TLS with Passthrough to Broker](#general-tcp-over-tls-with-passthrough-to-broker)
- [Security Considerations](#security-considerations)
- [Helm-based Deployment](#helm-based-deployment)
- [Exposing Metrics to Prometheus](#exposing-metrics-to-prometheus)
- [Broker Deployment in OpenShift using the Operator](#broker-deployment-in-openshift-using-the-operator)
- [Broker Deployment in OpenShift Using the Operator](#broker-deployment-in-openshift-using-the-operator)
- [Quick Start](#quick-start)
- [Additional Resources](#additional-resources)
- [Appendix: Using NFS for Persistent Storage](#appendix-using-nfs-for-persistent-storage)
Expand Down Expand Up @@ -143,7 +143,7 @@ However, if you need to use a private image registry, such as AWS ECR, you must
```
4. Use the pull secret you just created (`<my-pullsecret>`) in the broker deployment manifest.
For additional information, see the [Using private registries](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md#using-a-private-registry) section of the *Solace PubSub+ Event Broker Operator User Guide*.
For additional information, see the [Using private registries](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md#using-a-private-registry) section of the *Solace PubSub+ Event Broker Operator User Guide*.
#### Using AWS ECR with CodeReady Containers
If you are using CodeReady Containers, you might need to perform a workaround if the ECR login fails on the console (e.g., on Windows). In this case, do the following:
Expand All @@ -162,7 +162,7 @@ If you are using CodeReady Containers, you might need to perform a workaround if
## Deployment Considerations
Consult the [Deployment Planning](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md#deployment-planning) section of the general *Solace PubSub+ Event Broker Operator User Guide* when planning your deployment.
Consult the [Deployment Planning](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md#deployment-planning) section of the general *Solace PubSub+ Event Broker Operator User Guide* when planning your deployment.
The following sections apply only to the OpenShift platform.
Expand All @@ -183,7 +183,7 @@ Although `runAsUser` cannot be configured using a broker spec parameter, the Ope
### Accessing Broker Services
The principles for exposing services that are described in the [Solace PubSub+ Event Broker Operator User Guide](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md#accessing-broker-services) also apply here:
The principles for exposing services that are described in the [Solace PubSub+ Event Broker Operator User Guide](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md#accessing-broker-services) also apply here:
* LoadBalancer is the default service type and can be used to externally expose all broker services. This is an option for OpenShift as well and will not be further discussed here.
* Ingress and its equivalent, OpenShift Routes, can be used to expose specific services.
Expand Down Expand Up @@ -270,7 +270,7 @@ OpenShift ships with an integrated customized Prometheus deployment, with the fo

Monitoring must be enabled for user-defined projects by [creating a `user-workload-monitoring-config` ConfigMap object](https://docs.openshift.com/container-platform/latest/monitoring/enabling-monitoring-for-user-defined-projects.html) in the `openshift-user-workload-monitoring` project.

After this, the only step required to [connect the broker metrics with Prometheus](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md#connecting-with-prometheus) is to [create a ServiceMonitor object](https://github.com/SolaceDev/pubsubplus-kubernetes-operator/blob/v1.0.0/docs/EventBrokerOperatorUserGuide.md#creating-a-servicemonitor-object) in the project where the broker has been deployed.
After this, the only step required to [connect the broker metrics with Prometheus](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md#connecting-with-prometheus) is to [create a ServiceMonitor object](https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart/blob/main/docs/EventBrokerOperatorUserGuide.md#creating-a-servicemonitor-object) in the project where the broker has been deployed.

Check the OpenShift admin console in "Administrator" view to verify that the monitoring endpoint for the event broker deployment has been connected to Prometheus:

Expand Down

0 comments on commit eaff36e

Please sign in to comment.