Deploying PubSub+ Cloud with Kubernetes

PubSub+ Cloud supports the following Kubernetes environments:

  • On premises:
  • In the cloud:
    • Amazon Elastic Kubernetes Service (EKS)
    • Azure Kubernetes Service (AKS)
    • Azure Red Hat OpenShift (ARO)
    • Google Kubernetes Engine (GKE)
    • Alibaba Cloud Container Service for Kubernetes (ACK)
    • Huawei Cloud Container Engine (CCE)

For the list of Kubernetes versions supported for PubSub+ Cloud, see Supported Kubernetes Versions and Event Broker Service Compatibility.

Kubernetes Deployment Architecture

PubSub+ Cloud can be installed in a customer's on-premises or cloud-based Kubernetes cluster.

To orchestrate event broker services, Solace deploys the Solace Mission Control Agent in a dedicated namespace. The Mission Control Agent creates a secure connection back to the Solace Home Cloud and relays user commands from the console to the event broker service. This configuration is firewall friendly; all connections originate outbound.

The following diagram shows a simplified representation of the deployment architecture for PubSub+ Cloud in Kubernetes environments.

For more details, see Resource Requirements for Kubernetes and Kubernetes Connectivity Model.

Kubernetes Cluster Details

PubSub+ Cloud uses Availability Zones and Kubernetes StatefulSets to manage the deployment of event broker services, as shown in the following diagram:

The event broker service consists of three software event brokers, each deployed in a separate pod. Each pod also contains a Datadog agent that provides monitoring data and logs to the central monitoring service.

For details, see Centralized Monitoring Service and Datadog Agents.

Availability Zones

To ensure that high-availability event broker services are properly provisioned, PubSub+ Cloud requires three Availability Zones (AZs), one for each member of the High Availability (HA) triplet (primary messaging broker, backup messaging broker, and monitoring broker). For each HA service, the Mission Control Agent deploys the primary pod in one AZ, the backup pod in a second AZ, and the monitoring pod in a third AZ. This guarantees that pods for the same HA service are not running on the same hardware.

No Availability Zones

Some regions do not have availability zones available, or you may decide that you don't require an availability zone configured for your Kubernetes cluster.

When your target cluster doesn't have Availability Zones, the Mission Control Agent still deploys the pods. In this case, it is possible for multiple pods to be affected by any outages that occur. Because of this, for those deployments without Availability Zones, we recommend that worker nodes be scheduled on separate physical machines.

When availability zones are not available, it's important to note that the IaaS has reduced fault tolerance when compared to having availability zones present. Regardless of this fact, the region operates with the best availability possible in all deployments.

StatefulSets

A StatefulSet is the Kubernetes Workload API object used to manage stateful applications.

StatefulSets manage the deployment and scaling of a set of pods, and provide guarantees about the ordering and uniqueness of these pods. PubSub+ Cloud uses three StatefulSets to manage the deployment of a HA group, one for each role (primary, backup, monitoring).

For more information about StatefulSets, see the Kubernetes documentation.

Supported Kubernetes Versions and Event Broker Service Compatibility

Since customers manage the Kubernetes environment, it's important to understand the Kubernetes version and its compatibility with the software event broker versions that are used in PubSub+ Cloud. Depending on the version of the Kubernetes, a minimum version of the event broker service is required.

If you are upgrading your Kubernetes cluster, we recommend that you first upgrade your event broker services to ensure compatibility and minimize downtime. For information about upgrading your event broker services, see Software Event Broker Versions and Support in PubSub+ Cloud.

In general, most versions of event broker service are supported on the listed versions of cloud and on-premises deployments of Kubernetes. If a version is not listed, it is not supported at this time. If there are newer versions of Kubernetes that you require, contact Solace for more information.

The following table shows:

  • A minimum version of the broker version is listed where required, otherwise full support on the specified version of the Kubernetes provider or distribution is indicated using the following symbols:
    • Green check that indicates supported.—A green check mark indicates full support.
    • Gray check that indicates supported, but may not be fully tested.—A gray check mark indicates that though the broker version has full support, that release has not been fully tested at this time. In addition, there may be known issues or additional work required to deploy event broker services on the Kubernetes cluster. Contact Solace for more information.
    • Gray cross that indicates not supported.—A gray cross indicates that the broker version is not supported.
    • Note that if a version for Kubernetes provider or distribution isn't listed in the table below, there are several reasons that can include:
      • The provider or distribution never supported the version (for example, some providers only support the even version numbers of Kubernetes).
      • The Kubernetes version has fallen out of support [or reached end-of-life (EOL)] as specified by the provider (see the website for the provider or distribution).
      • Versions marked with an asterisk * require: 

        • The most recent version of the Load Balancer Controller from Solace. For more information, see Load Balancer.
        • The most recent Mission Control Agent.
  • For all cloud and on-premises deployments of Kubernetes, depending on the Kubernetes version, a minimum broker build is required. The following Kubernetes providers and distributions are supported:

Cloud Provider Kubernetes Distributions

Cloud Provider or On-Premises Distribution Kubernetes Version
  Software Event Broker Version in PubSub+ Cloud
9.9 9.10 9.11 9.12 9.13 10.0

Alibaba Cloud Container Service for Kubernetes (ACK)

1.20

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Amazon Elastic Kubernetes Service (EKS)

1.19

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.20

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Green check that indicates supported.

1.22*

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Green check that indicates supported.

1.23*

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Azure Kubernetes Service (AKS)

1.20

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.23

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Green check that indicates supported.

Azure Red Hat OpenShift (ARO)

4.10/1.23

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Google Kubernetes Engine (GKE)

1.20

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Huawei Cloud Container Engine (CCE)

1.17

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Green check that indicates supported.

1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

On-Premises Kubernetes Distributions

Cloud Provider or On-Premises Distribution
On-Premises
Distribution Version/
Kubernetes Version
  Software Event Broker Version in PubSub+ Cloud
9.9 9.10 9.11 9.12 9.13 10.0

Rancher

2.6.0/1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

2.6.4/1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported. Green check that indicates supported. Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Red Hat OpenShift

4.8/1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

4.9/1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

VMware Tanzu Kubernetes Grid (TKG)

1.3.x/1.20

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

1.4.x/1.21

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

1.5.x/1.22

9.9.0.28
and later

9.10.0.12
and later

Green check that indicates supported.

Green check that indicates supported.

Gray check that indicates supported, but may not be fully tested.

Gray check that indicates supported, but may not be fully tested.

 

For information about the list of broker versions available in PubSub+ Cloud, see Software Event Broker Versions and Support in PubSub+ Cloud.