Common Kubernetes Prerequisites

All Kubernetes cluster installations must fulfill the following prerequisites:

  • You must deploy the Kubernetes cluster with worker nodes of the sizes required by PubSub+ Cloud . You can create either static worker nodes or autoscaling via node groups/pools that satisfy the compute and memory requirements for each service class as described in General Resource Requirements for Kubernetes and Default Port Configuration.
  • When available, configure the nodes to use autoscaling. Autoscaling allows increasing the number of nodes on demand. Autoscaling is offered by many cloud providers, including Azure Kubernetes Service, AWS Elastic Kubernetes Service, and Google Kubernetes Engine.
  • The cluster must be able to create volumes dynamically using PersistentVolumeClaim. Any annotations needed to create PersistentVolumeClaims must be known. The PersistentVolumeClaim needs a storage class that uses XFS filesystem. The disks that the volumes run on must have 1000 IOPS performance (or better). For this reason, Solace recommends using solid state drives (SSD) when possible. For more information, see Dynamic Volume Provisioning.
  • Solace does not support event broker service integration with service meshes. Service meshes include Istio, Cilium, Linkerd, Consul, and others. If deploying to a cluster with a service mesh, you must:

    • exclude the target-namespace used by PubSub+ Cloud services from the service mesh.
    • set up connectivity to event broker service in the cluster using LoadBalancer or NodePort. See Exposing Event Broker Services to External Traffic for more information.
  • If your Kubernetes deployment uses the NO_PROXY environment variable, addresses contained in the variable cannot contain metadata characters (for example, *). The Mission Control Agent does not support the use of metadata characters in IP addresses that should bypass the proxy. For example, use addresses such as .example.com, instead of *.example.com.