Installation options
Learn about your options for installing Gloo Mesh (Gloo Platform APIs) in your environment.
Deployment modes
Choose whether you want to deploy Gloo Mesh (Gloo Platform APIs) in one cluster, or across multiple clusters.
Single cluster
Gloo Mesh (Gloo Platform APIs) is fully functional when the management plane (management server) and data plane (agent and service mesh) both run within the same cluster. You can easily install both the control and data plane components by using one installation process. If you choose to install the components in separate processes, ensure that you use the same name for the cluster during both processes.
Multicluster
A multicluster Gloo Mesh (Gloo Platform APIs) setup consists of one management cluster that you install the Gloo management plane (management server) in, and one or more workload clusters that serve as the data plane (agent and service mesh). By running the management plane in a dedicated management cluster, you can ensure that no workload pods consume cluster resources that might impede management processes. Many guides throughout the documentation use one management cluster and two workload clusters as an example setup.
Sidecar deployment options
You can deploy some Gloo components as either standalone pods or as sidecar containers to other component pods. Deploying components as sidecars can help reduce the amount of compute resources required to run Gloo Mesh (Gloo Platform APIs).
The following components can be deployed either as standalone pods or as sidecars. For more information about the installed components, review the Gloo Mesh (Gloo Platform APIs) architecture.
| Component deployed as a sidecar | Main component pod | Installation setting |
|---|---|---|
| Gloo agent | Gloo management server | glooAgent.runAsSidecar: trueNote that the agent is available as a sidecar only in single-cluster environments. |
| Gloo analyzer | Gloo agent | glooAnalyzer.runAsSidecar: true |
Installation methods
After you decide on a single or multicluster environment, choose whether to use the meshctl CLI or Helm charts to install Gloo Mesh (Gloo Platform APIs).
CLI install profiles
Gloo packages profiles in the meshctl CLI for quick Gloo Mesh (Gloo Platform APIs) installations. Profiles provide basic Helm settings for a minimum installation, and are suitable for testing setups. Because the profiles provide standard setups, they can also be useful starting points for building a customized and robust set of Helm installation values.
In your meshctl install and meshctl cluster register commands, you can specify one or more profiles in the --profile flag. Multiple profiles can be applied in a comma-delimited list, in which merge priority is left to right. Note that any values you specify in --set or --gloo-mesh-agent-chart-values flags have highest merge priority.
The following profiles are supported. You can review the Helm settings in a profile by running curl https://storage.googleapis.com/gloo-platform/helm-profiles/2.11.0/<profile>.yaml > profile-values.yaml.
You can also check out Gloo Mesh Gateway-specific profiles in the Gloo Mesh Gateway setup documentation.
Standard profiles
The following profiles provide standard setups, which can be useful starting points for building a customized and robust set of Helm installation values. To set up Gloo Mesh (Gloo Platform APIs) with these profiles, see the get started guides.
Kubernetes
| Profile | Use case | Deployed components |
|---|---|---|
mgmt-server | Set up the Gloo Mesh (Gloo Platform APIs) control plane in the management cluster of a multicluster Kubernetes setup. Default profile for meshctl install. | Gloo management server, Gloo UI, Prometheus, Redis, Gloo OpenTelemetry (OTel) gateway |
agent | Register a workload cluster in a multicluster Kubernetes setup. Default profile for meshctl cluster register. | Gloo agent, Gloo OTel collector agents |
gloo-mesh-enterprise-single | Set up all Gloo Mesh (Gloo Platform APIs) components in a single-cluster Kubernetes setup. | Gloo management server, Gloo agent, Gloo UI, Prometheus, Redis, Gloo OTel collector agents |
OpenShift
| Profile | Use case | Deployed components |
|---|---|---|
mgmt-server-openshift | Set up the Gloo Mesh (Gloo Platform APIs) control plane in the management cluster of a multicluster OpenShift setup. Includes required settings for Istio functionality in OpenShift. | Gloo management server, Gloo UI, Prometheus, Redis, Gloo OpenTelemetry (OTel) gateway |
agent-openshift | Register a workload cluster in a multicluster OpenShift setup. Includes required settings for Istio functionality in OpenShift. | Gloo agent, Gloo OTel collector agents |
gloo-mesh-enterprise-single-openshift | Set up all Gloo Mesh (Gloo Platform APIs) components in a single-cluster OpenShift setup. Includes required settings for Istio functionality in OpenShift. | Gloo management server, Gloo agent, Gloo UI, Prometheus, Redis, Gloo OTel collector agents |
Add-on profiles
The following profiles install Gloo add-ons, which are often used additively with standard profiles. To set up add-ons with these profiles, see the rate limiting and external authentication guide.
| Profile | Use case | Deployed components |
|---|---|---|
extauth | Use external authentication in a single-cluster setup or in a workload cluster in a multicluster setup. | Gloo external auth server |
ratelimit | Use rate limiting in a single-cluster setup or in a workload cluster in a multicluster setup. | Gloo rate limiting server |
Helm charts
To extensively customize the settings of your Gloo Mesh (Gloo Platform APIs) installation, you can use the gloo-platform and gloo-platform-crds Helm charts.
Installation Helm chart
All components for a full Gloo Mesh (Gloo Platform APIs) installation are available in the gloo-platform Helm chart.
Helm installations allow for extensive customization of Gloo settings, and are suitable for proof-of-concept or production setups. Within the gloo-platform chart, you can find the configuration options for all components in the following sections.
| Component section | Description |
|---|---|
clickhouse | Configuration for the Clickhouse deployment, which stores logs from Gloo telemetry collector agents. See the Bitnami Clickhouse Helm chart for the complete set of values. |
common | Common values shared across components. When applicable, these can be overridden in specific components. |
demo | Demo-specific features that improve quick setups. Do not use in production. |
experimental | Deprecated: Use featureGates fields instead. |
extAuthService | Configuration for the Gloo external authentication service. |
featureGates | Experimental features for Gloo. Disabled by default. |
glooAgent | Configuration for the Gloo agent. |
glooAnalyzer | Configuration for the Gloo analyzer, which gathers data on Gloo and Istio components. |
glooInsightsEngine | Configuration for the Gloo insights engine, which creates Solo insights. |
glooMgmtServer | Configuration for the Gloo management server. |
glooNetwork | Gloo Network configuration options. |
glooPortalServer | Configuration for the Gloo Portal server deployment. |
glooSpireServer | Configuration for the Gloo Spire server deployment. |
glooUi | Configuration for the Gloo UI. |
istioInstallations | Configuration for deploying managed Istio control plane and gateway installations by using the Istio lifecycle manager. In version 2.7 and later, install Istio by using the Gloo Operator instead. |
jaeger | Configuration for the Gloo Jaeger instance. |
licensing | Gloo product licenses. |
postgresql | Configuration for Gloo PostgreSQL instance. |
prometheus | Helm values for configuring Prometheus. See the Prometheus Helm chart for the complete set of values. |
rateLimiter | Configuration for the Gloo rate limiting service. |
redis | Configuration for the default Redis instance. |
redisStore | Configuration for the backing Redis instance that stores data for snapshots, insights, add-ons, and more. |
telemetryCollector | Configuration for the Gloo telemetry collector agents. See the OpenTelemetry Helm chart for the complete set of values. |
telemetryCollectorCustomization | Optional customization for the Gloo telemetry collector agents. |
telemetryGateway | Configuration for the Gloo telemetry gateway. See the OpenTelemetry Helm chart for the complete set of values. |
telemetryGatewayCustomization | Optional customization for the Gloo telemetry gateway. |
You can see all possible fields that you can set for the chart by running the following command.
helm show values gloo-platform/gloo-platform --version v2.11.0 > all-values.yaml
For more information about each field, see the Helm values documentation. To set up Gloo Mesh (Gloo Platform APIs) with Helm, see the Helm installation guide.
CRD Helm chart
All CRDs that are required for a Gloo Mesh (Gloo Platform APIs) installation are available in the gloo-platform-crds Helm chart. To see all CRD installation options, see the Helm values documentation. If you already installed the chart, you can run kubectl get crds -A | grep gloo.solo.io to see the installed CRDs.
Supported platforms
You can install Gloo Mesh (Gloo Platform APIs) on Kubernetes or OpenShift clusters. For more information about the requirements for clusters on each platform, see the System requirements.
Kubernetes
Gloo Mesh (Gloo Platform APIs) and Istio are fully supported on Kubernetes clusters. Throughout the installation guides, use installation commands that are labeled for use with Kubernetes.
OpenShift
Gloo Mesh (Gloo Platform APIs) is fully supported on OpenShift clusters. However, there are some changes you must make to allow Gloo Mesh (Gloo Platform APIs) and Istio to run on an OpenShift cluster. To make these changes, use commands throughout the installation guides that are labeled for use with OpenShift. For more information about the required changes, see the Istio on OpenShift documentation.
Gloo settings
Dynamic user ID: The pods of all the Gloo components’ deployments must be assigned a dynamic user ID for the Istio sidecar to use. However, this user ID is not permitted in OpenShift by default. In the installation guides, follow the OpenShift commands to use OpenShift-specific install profiles or Helm commands, which include the floatingUserId=true installation setting for each Gloo component.
Istio settings
- Gloo Operator: If you use the Gloo Operator to install an ambient or sidecar mesh, no changes are needed for OpenShift installations. The Gloo Operator automatically detects your cluster platform and creates the appropriate resources accordingly.
- Helm chart settings: If you install Istio by using the Istio Helm charts:
- Your Helm settings must include
global.platform=openshiftfor Istio 1.24 and later. If you instead install Istio 1.23 or earlier, you must useprofile=openshiftinstead of theglobal.platformsetting.
- Your Helm settings must include