Skip to main content
Fusion is comprised of microservices that drive features and functionality within a deployment. The services running in your deployment depend on the version of Fusion and the features you have enabled.

Get deployment details

You can view your deployment details using kubectl.
  1. First, verify that you have access to your cluster, replacing the example values with your parameters. This example is for a Fusion instance deployed using GKE.
  2. Get the ports and services:
  3. Get the StatefulSets:
  4. Get the deployments:

Overview

The table below lists the Fusion microservices deployed by the Helm chart. It also include Kubernetes services that manage traffic to microservices.
Fusion is a complex distributed application composed of many stateful and stateless services designed to support demanding search-oriented workloads at high scale.
For Docker image versions associated with microservices, see the list of Docker images and versions for each Fusion release.

Microservices

Below is a list of microservices used in Fusion 5.9.x.

Ports used by Fusion

Below you will find the list of pod ports for intra-cluster communications.

Standardized component logging using structured JSON format

In Fusion 5.9.14 and later, some Fusion services can log in structured JSON format instead of plaintext (Log4j-style) output. This improves compatibility with monitoring tools and log aggregation systems by making logs easier to parse, filter, and analyze. JSON logging is supported for the following services:
  • admin
  • apps-manager
  • connectors
  • connectors-backend
  • connectors-classic
  • distributed-compute (job-launcher, job-rest-server)
  • indexing
  • job-config
  • ml-model-service (including kuberay-operator, seldon-webhook-service)
  • proxy / api-gateway
  • query
  • solr
  • templating
  • webapps
JSON logging is off by default. To enable it, you can set jsonOutput: true globally or for specific services in the values.yaml configuration file. This update does not affect log formats in the following services:
  • admin-ui
  • auth-ui
  • insights
  • pm-ui
  • rules-ui
  • argo
  • kafka
  • spark
  • zookeeper

Transport Layer Security (TLS)

In Fusion releases 5.9.2 and later, Fusion microservices can use Enable Transport Layer Security (TLS) for Fusion Microservices.
This feature is only available in Fusion releases 5.9.2 and later.
This article describes how to deploy Fusion with Transport Layer Security (TLS) enabled for Fusion microservices.When enabled, Fusion generates a TLS certificate for each pod when the pod starts. This allows Fusion to use the Kubernetes endpoints API to reach each pod by its IP address and perform load balancing, circuit breaking, and retries in the Fusion microservices.In order to facilitate the TLS operations, Fusion utilizes Jetstack’s **cert-manager** add-on to provision a certificate for each pod. This certificate contains the pods’ IP address.
It is not possible to update an existing cluster enable or disable TLS. These instructions apply to new deployments only.

Install Jetstack cert-manager

  1. Add the Jetstack helm repo.
  2. Update the local cache.
  3. Create the CRDs required for Jetstack. For Jetstack v1.12.4:
    For Jetstack v1.13.1:
  4. Create the namespace for cert-manager.
  5. Install cert-manager into the namespace.
ForJetstack v1.12.4:
For Jetstack v1.13.1:
You must only complete this process once per Fusion cluster. All namespaces in the cluster are affected by this process.

Prepare the namespace for Fusion

  1. Create the namespace to install Fusion into.
  2. Create the Root CA certificate for the namespace that will be used to sign all certificates in the namespace.
  3. Create a cert-manager issuer to sign CSRs in the namespace. For Jetstack v1.12.4:
    For Jetstack v1.13.1:
  4. Install Fusion with the following parameters:
Be sure to include the flags --set global.zkReplicaCount=3 and --set kafka.auth.clientProtocol=tls or Kafka can enter a crash loop state.
When enabled, Fusion generates a TLS certificate for each pod when the pod starts. This allows Fusion to use the Kubernetes endpoints API to reach each pod by its IP address and perform load balancing, circuit breaking, and retries in the Fusion microservices.

Mutual Transport Layer Security (mTLS)

In Fusion 5.9.15 and later, mTLS provides network-layer authentication using the third-party provider that handles the endpoint. mTLS requires both the client and server to present valid certificates during the TLS connection process. mTLS ensures that only trusted, certificate-authenticated clients can access Fusion APIs and UI endpoints. mTLS ensures that only trusted, certificate-authenticated clients can access Fusion APIs and UI endpoints. For more information, see Mutual Transport Layer Security.