Gloo Mesh deploys alongside your Istio installations in single or multicluster environments, and gives you instant insights into your Istio environment through a custom dashboard.

You can follow this guide to quickly install Gloo Mesh (OSS APIs) with default values, or customize settings for an advanced Gloo Mesh (OSS APIs) installation. To learn more about the benefits and architecture of Gloo Mesh (OSS APIs), see About.

Install Gloo Mesh (OSS APIs) with meshctl

Use default values provided by the meshctl CLI installation profiles to quickly deploy Gloo Mesh (OSS APIs) alongside your service mesh.

Before you begin

  1. Install the following command-line (CLI) tools.

    • helm, the Kubernetes package manager.
    • kubectl, the Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use.
    • meshctl, the Solo command line tool.
        curl -sL https://run.solo.io/meshctl/install | GLOO_MESH_VERSION=v2.11.0 sh -
      export PATH=$HOME/.gloo-mesh/bin:$PATH
        
  2. Create or use an existing Kubernetes or OpenShift cluster, and save the cluster name in an environment variable. Note: The cluster name must be alphanumeric with no special characters except a hyphen (-), lowercase, and begin with a letter (not a number) to follow the Kubernetes DNS label standard.

      export CLUSTER_NAME=<cluster_name>
      
  3. Set your Premium or Enterprise Solo license key for Gloo Mesh as an environment variable. If you do not have one, contact an account representative. If you prefer to specify license keys in a secret instead, see Licensing. To check your license’s validity, you can run meshctl license check --key $(echo ${GLOO_MESH_LICENSE_KEY} | base64 -w0).

      export GLOO_MESH_LICENSE_KEY=<license_key>
      

Install Gloo Mesh (OSS APIs)

  1. Install Gloo Mesh (OSS APIs) in your cluster. This command uses a basic profile to create a gloo-mesh namespace and install the Gloo control and data plane components. For more information, check out the CLI install profiles.

      meshctl install --profiles gloo-mesh-single-cluster \
      --set common.cluster=$CLUSTER_NAME \
      --set licensing.glooMeshCoreLicenseKey=$GLOO_MESH_LICENSE_KEY
      
  2. Verify that your Gloo Mesh (OSS APIs) setup is correctly installed. Note that this check might take a few seconds to verify that:

    • The Gloo CRDs are installed at the correct version.
    • The management plane pods are running and healthy.
    • Any Istio installation versions are compatible with the installed Gloo version.
      meshctl check
      

    Example output:

      🟢 CRD version check
    
    🟢 Gloo deployment status
    
    Namespace | Name                           | Ready | Status
    gloo-mesh | gloo-mesh-ui                   | 1/1   | Healthy
    gloo-mesh | prometheus-server              | 1/1   | Healthy
    gloo-mesh | gloo-telemetry-collector-agent | 2/2   | Healthy
    
    Connected Pod | Clusters
    
    🟢 Istio compatibility check
    
    All Istio versions found are compatible
      

Install Gloo Mesh (OSS APIs) with Helm

Use Helm to customize an advanced Gloo Mesh (OSS APIs) installation.

Before you begin

  1. Install the following command-line (CLI) tools.

    • helm, the Kubernetes package manager.
    • kubectl, the Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use.
    • meshctl, the Solo command line tool.
        curl -sL https://run.solo.io/meshctl/install | GLOO_MESH_VERSION=v2.11.0 sh -
      export PATH=$HOME/.gloo-mesh/bin:$PATH
        
  2. Set your Premium or Enterprise Solo license key for Gloo Mesh as an environment variable. If you do not have one, contact an account representative. If you prefer to specify license keys in a secret instead, see Licensing. To check your license’s validity, you can run meshctl license check --key $(echo ${GLOO_MESH_LICENSE_KEY} | base64 -w0).

      export GLOO_MESH_LICENSE_KEY=<license_key>
      
  3. Set the Gloo Mesh (OSS APIs) version. This example uses the latest version. You can find other versions in the Changelog documentation. Append -fips for a FIPS-compliant image, such as 2.11.0-fips. Do not include v before the version number.

      export GLOO_VERSION=2.11.0
      
  4. Create or use an existing Kubernetes cluster for a single-cluster setup, or for a multicluster setup, at least two existing Kubernetes clusters. The instructions in this guide assume one management cluster and two workload clusters.

    • The cluster name must be alphanumeric with no special characters except a hyphen (-), lowercase, and begin with a letter (not a number) to follow the Kubernetes DNS label standard.
  5. Production installations: Review Best practices for production to prepare your optional security measures. For example, before you begin your Gloo installation, you can provide your own certificates to secure the management server and agent connection, and set up secure access to the Gloo UI.

Install Gloo Mesh (OSS APIs)

Install all Gloo Mesh (OSS APIs) components in the same cluster as your Istio service mesh.

  1. Save the name of your cluster as an environment variable.

      export CLUSTER_NAME=<cluster_name>
      
  2. Add and update the Helm repository for Gloo.

      helm repo add gloo-platform https://storage.googleapis.com/gloo-platform/helm-charts
    helm repo update
      
  3. Install the Gloo CRDs.

      helm upgrade -i gloo-platform-crds gloo-platform/gloo-platform-crds \
       --namespace=gloo-mesh \
       --create-namespace \
       --version=$GLOO_VERSION \
       --set installEnterpriseCrds=false
      
  4. Prepare a Helm values file to provide your customizations. To get started, you can use the minimum settings in the following profile as a basis. These settings enable all components that are required for a single-cluster Gloo Mesh (OSS APIs) installation.

      curl https://storage.googleapis.com/gloo-platform/helm-profiles/$GLOO_VERSION/gloo-mesh-single-cluster.yaml > gloo-single.yaml
    open gloo-single.yaml
      
  5. Edit the file to provide your own details for settings that are recommended for production deployments, such as the following settings.

    FieldDescription
    glooUi.authSet up OIDC authorization for the Gloo UI. For more information, see UI authentication.
    prometheus.enabledDisable the default Prometheus instance as needed to provide your own. Otherwise, you can keep the default Prometheus server enabled, and deploy a production-level server to scrape metrics from the server. For more information on each option, see Best practices for collecting metrics in production.
  6. Use the customizations in your Helm values file to install the Gloo Mesh (OSS APIs) components in your cluster.

  7. Verify that your Gloo Mesh (OSS APIs) setup is correctly installed. Note that this check might take a few seconds to verify that:

    • The Gloo CRDs are installed at the correct version.
    • The management plane pods are running and healthy.
    • Any Istio installation versions are compatible with the installed Gloo version.
      meshctl check
      

    Example output:

      🟢 CRD version check
    
    🟢 Gloo deployment status
    
    Namespace | Name                           | Ready | Status
    gloo-mesh | gloo-mesh-ui                   | 1/1   | Healthy
    gloo-mesh | prometheus-server              | 1/1   | Healthy
    gloo-mesh | gloo-telemetry-collector-agent | 2/2   | Healthy
    
    Connected Pod | Clusters
    
    🟢 Istio compatibility check
    
    All Istio versions found are compatible
      
  8. If you have not installed Istio yet, see the guides for installing Istio in sidecar or ambient mode.

Explore the UI

Now that the management plane is up and running, launch the Gloo UI to evaluate the health and efficiency of your service mesh. You can review the analysis and insights for your service mesh, such as recommendations to harden your Istio environment and steps to implement them in your environment.

Launch the dashboard

  1. Open the Gloo UI. The Gloo UI is served from the gloo-mesh-ui service on port 8090. You can connect by using the meshctl or kubectl CLIs.

    • meshctl: For more information, see the CLI documentation.
        meshctl dashboard
        
    • kubectl:
      1. Port-forward the gloo-mesh-ui service on 8090.
          kubectl port-forward -n gloo-mesh svc/gloo-mesh-ui 8090:8090
          
      2. Open your browser and connect to http://localhost:8090.
  2. Review your Dashboard for an at-a-glance overview of your Gloo Mesh (OSS APIs) environment. Environment insights, health, status, inventories, security, and more are summarized in the dashboard cards. For more information about all available features, see Explore the UI.


    Figure: Gloo UI dashboard
    Figure: Gloo UI dashboard
    Figure: Gloo UI dashboard
    Figure: Gloo UI dashboard

Check insights

Review the insights for your environment. Gloo Mesh (OSS APIs) comes with an insights engine that automatically analyzes your Istio setups for health issues. These issues are displayed in the UI along with recommendations to harden your Istio setups. The insights give you a checklist to address issues that might otherwise be hard to detect across your environment.

  1. From the Dashboard, click on any of the insights cards to open the Insights page, or go to the Insights page directly.

  2. On the Insights page, you can view recommendations to harden your Istio setup, and steps to implement them in your environment. Gloo Mesh (OSS APIs) analyzes your setup, and returns individual insights that contain information about errors and warnings in your environment, best practices you can use to improve your configuration and security, and more.

    Figure: Insights page
    Figure: Insights page
    Figure: Insights page
    Figure: Insights page

  3. Select the insight that you want to resolve. The details modal shows more data about the insight, such as the time when it was last observed in your environment, and if applicable, the extended settings or configuration that the insight applies to.

    Figure: Example insight
    Figure: Example insight

  4. Click the Target YAML tab to see the resource file that the insight references, and click the Resolution Steps tab to see guidance such as steps for fixing warnings and errors in your resource configuration or recommendations for improving your security and setup.

Next steps

Check out some of the following resources to learn more about Gloo Mesh (OSS APIs) and expand your service mesh capabilities.

Gloo Mesh (OSS APIs):

  • Explore the Gloo UI.
  • Review insights to review and improve your setup’s health and security posture.
  • When it’s time to upgrade Gloo Mesh (OSS APIs), see the upgrade guide.

Istio:

  • If you have not installed Istio yet, see the guides for installing an ambient mesh.

Help and support: