Skip to content

Runtime Fabric Setup

This guide explains how to deploy MuleSoft Runtime Fabric on AWS EKS or GCP GKE. Before proceeding, ensure your Kubernetes cluster environment is properly prepared to support Runtime Fabric workloads.

Create a Namespace

First, create a namespace for installing Runtime Fabric components with rtf- as a prefix:

kubectl create ns <rtf-namespace>

This namespace will contain all Runtime Fabric components and services.

Pulling Runtime Fabric Component Docker Images

Create a secret for pulling Runtime Fabric component Docker images from the registry:

kubectl create secret docker-registry rtf-pull-secret --namespace <rtf-namespace> --docker-server=rtf-runtime-registry.kprod.msap.io --docker-username=<username-generated-by-Anypoint> --docker-password=<password-generated-by-Anypoint>

Copy and paste this command from the RTF Cluster creation page in Anypoint Platform. For local registry configuration, refer to the documentation.

Add Runtime Fabric Helm Repository

Add the Runtime Fabric Helm repository for pulling agent charts:

helm repo add rtf https://rtf-runtime-registry.kprod.msap.io/charts --username <username-generated-by-Anypoint> --password <password-generated-by-Anypoint>

This command should be copied from the RTF Cluster creation page.

Configure values.yaml

Convert Mule License .lic File to Base64

To complete the values.yaml file, convert the license file to base64:

base64 -b0 -i license.lic

For Windows PowerShell:

[convert]::ToBase64String((Get-Content -path "license.lic" -Encoding byte))

This encoded license will be included in your values.yaml configuration.

Example values.yaml

Copy and paste the base64 license value into the file and complete the fields:

values.yaml
activationData: <provided by MuleSoft Control Plane>
proxy:
    http_proxy: <Proxy Endpoint>
    http_no_proxy: <nodes IPs>
    monitoring_proxy: <empty for now...faced issues during very first deployment>
muleLicense: <converted in base64>
customLog4jEnabled: false
global:
    crds:
        install: true
    authorizedNamespaces: false
    image:
        rtfRegistry: rtf-runtime-registry.kprod.msap.io
        pullSecretName: rtf-pull-secret
    containerLogPaths:
        - /var/lib/docker/containers
        - /var/log/containers
        - /var/log/pods

This configuration controls the Runtime Fabric installation parameters.

Install Runtime Fabric

Install Runtime Fabric into your Kubernetes cluster using the configured values.yaml file:

helm upgrade --install runtime-fabric rtf/rtf-agent -f values.yaml -n <rtf-namespace>

Allow up to 5 minutes for your Runtime Fabric to be installed and registered. Once registered, it will appear in your Anypoint Platform environment.

Creating Namespaces for Application Deployments

When you deploy an application into an Anypoint Platform environment, Runtime Fabric creates a default namespace using the environment's identifier. However, you can create custom namespaces for application deployments.

Create a Namespace for Applications

To deploy Mule applications, create an app-namespace for each installed agent:

app-namespace.yaml
1
2
3
4
5
6
7
8
9
apiVersion: v1
kind: Namespace
metadata:
    name: <app-namespace>
    labels:
        rtf.mulesoft.com/agentNamespace: <rtf_namespace>
        rtf.mulesoft.com/envId: <environment_id>
        rtf.mulesoft.com/org: <org_id>
        rtf.mulesoft.com/role: workers

Apply the configuration to your Kubernetes cluster:

kubectl apply -f app-namespace.yaml
Value Description
<app-namespace> Name of the namespace hosting the Mule apps
<rtf-namespace> Name of the namespace containing the RTF Agent
<environment_id> Environment ID
<org_id> Business Group ID

After these steps, any application deployed into the specified Anypoint Platform environment will be created inside the <app_namespace> by the RTF agent running in the <rtf_namespace>.

For more detailed information, consult the official documentation.