Contact Us 1-800-596-4880

Installing Runtime Fabric Using RTFCTL

You can use the Runtime Fabric command line tool, rtfctl, to install Anypoint Runtime Fabric on an Amazon Elastic Kubernetes Service (Amazon EKS), Amazon Elastic Kubernetes Service Anywhere (Amazon EKS-A), Azure Kubernetes Service (AKS), Alibaba Cloud Container Service for Kubernetes (ACK), Google Kubernetes Engine (GKE), Rancher Kubernetes Engine (RKE) installation that you manage.

Runtime Fabric versions 2.2.5 or later that support multiple instances require rtfctl version 0.4.1 or later.
rtfctl always installs the latest version of Runtime Fabric agent.

Refer to scalability benchmarking to review the limits for rtfctl-based deployments. For larger deployments, use Helm-based Runtime Fabric deployments so you can allocate additional resources to the agent for optimal performance.

Before you Begin

Before installing Anypoint Runtime Fabric in a Kubernetes environment, ensure:

  • You have reviewed the architecture and requirements outlined in Runtime Fabric

  • You have configured your network to support Runtime Fabric

  • You have installed and configured your Kubernetes environment with:

    • An ACK, AKS, EKS, EKS-A, GKE, or RKE Kubernetes environment. Other Kubernetes environments are not supported.

    • A supported Kubernetes version.

    • An ingress controller to send external requests to applications.

  • You create your clusters using the latest Runtime Fabric agent version available. If you can’t do so, refer to How to Specify the RTF Agent Version in Upgrades.

RTFCTL Versions Compatibility

The following tables list the rtfctl versions compatibility with Runtime Fabric appliance 1.x.x agent versions and Runtime Fabric self-managed 2.x.x agent versions.

Runtime Fabric Appliance 1.x.x

The following rtfctl versions are compatible with all supported Runtime Fabric agents on appliance clusters:

RTF appliance 1.x.x agent version rtfctl version

All versions

0.6.0-2.release-gravity

All versions

0.5.2-4.release-gravity

All versions

0.3.87 to 0.4.22

Runtime Fabric Self-Managed (BYOK) 2.x.x

The following rtfctl versions are compatible with Runtime Fabric agents in self-managed Kubernetes clusters:

RTF self-managed 2.x.x agent version rtfctl version

2.6.2

0.4.1 or later

2.5.0

0.4.1 or later

2.4.0

0.4.1 or later

2.3.34

0.4.1 or later

2.3.1

0.4.1 or later

2.2.5

0.4.1 or later

2.1.30

0.3.87 to 1.0.12

2.1.0

0.3.87 to 1.0.12

2.0.0

0.3.87 to 1.0.12

Create a Runtime Fabric using Runtime Manager

To install Runtime Fabric, first create a Runtime Fabric using Runtime Manager. This is required to obtain the activation data which is needed during installation.

  1. From Anypoint Platform, select Runtime Manager.

  2. Click Runtime Fabrics.

  3. Click Create Runtime Fabric.

  4. Enter the name of the new Runtime Fabric, then select one of the following options:

    • Amazon Elastic Kubernetes Service

    • Azure Kubernetes Service

    • Google Kubernetes Engine

  5. Click Next.

  6. Click rtfctl.

  7. Review the Support responsibility disclaimer, then if you agree click Accept.

    Runtime Manager creates the Runtime Fabric and displays the Activation State page. This page displays the activation data used to install Runtime Fabric on a Kubernetes service. Copy this data to the clipboard for use in the next section.

Download the rtfctl Utility

Runtime Fabric uses the rtfctl command-line utility for installation and management tasks. See Install the Runtime Fabric Command Line Tool.

  1. Download the rtfctl command-line utility:

    rtfctl is supported on Windows, MacOS (Darwin), and Linux. Choose the appropriate method:

    • Windows

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-windows/latest -o rtfctl.exe
    • MacOS (Darwin)

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-darwin/latest -o rtfctl
    • Linux

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl/latest -o rtfctl
  2. Change file permissions for the rtfctl command-line utility:

    sudo chmod +x rtfctl

Install Runtime Fabric

After creating a Runtime Fabric in Runtime Manager and obtaining the activation data, install Runtime Fabric into your Kubernetes service using the rtfctl command-line utility.

If your Kubernetes configuration is not located in the \~/.kube/config directory, set the KUBECONFIG environment variable before running rtfctl:

export KUBECONFIG=<path-to-kubeconfig>
  1. Validate that your Kubernetes environment is ready for installation:

    rtfctl validate <activation_data>

    The validate option verifies that:

    • The Kubernetes environment is running.

    • All required components exist.

    • All required services are available.

      The rtfctl command-line utility outputs any incompatibilities with the Kubernetes environment.

  2. Install Runtime Fabric:

    rtfctl install <activation_data>

    <activation_data> is the activation data obtained after creating the Runtime Fabric using Runtime Manager. During installation, the rtfctl utility displays any errors encountered.

For private registry installations, add the --cluster-ops-image flag and select the image version as per the release notes of the agent version to install:

rtfctl install <ACTIVATION_DATA> --cluster-ops-image <local-reg-host>/mulesoft/rtf-cluster-ops:<version-here>

Insert the Mule License Key

If you didn’t add the Mule license key during install, you can add it using the rtfctl command line utility or Helm.

Before you install the license key, encode it to Base64 format.

Encode the License Key

  • On MacOS, run the following command:

    base64 -b 0 -i <license-file>
  • On Unix, run the following command:

    base64 -w0 <license-file>
  • On Windows, choose one of the following:

    • Use a WSL or Cygwin shell that includes the base64 tool and use the above Unix command.

    • Use the base64.exe program included with Windows git (C:\Program Files\Git\usr\bin).

    • Use the following Powershell command:

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

Apply the License Key Using rtfctl

  1. On the controller node acting as the leader during installation (the installer node), run the following command:

    rtfctl apply mule-license $BASE64_ENCODED_LICENSE

    You can also apply the Mule license providing the file path directly:

    rtfctl apply mule-license --file /path/to/license.lic
    Any value used with rtfcl apply updates does not work for OpenShift. You have to update the values in the OpenShift console.
  2. To verify the Mule license key has applied correctly, run:

    rtfctl get mule-license

Apply the License Key Using Helm

To apply the license using Helm, run the following command:

helm upgrade runtime-fabric rtf/rtf-agent --set muleLicense=$BASE64_ENCODED_LICENSE -n rtf --reuse-values

Configure the Ingress Resource Template

If your ingress controller requires custom annotations and ingress class definition, follow the instructions in Defining a Custom Ingress Configuration.

For GKE customers, the ingress controller included with GKE will provision a separate HTTP load balancer per application by default. Please read this KB article for more details.

Validate Your Runtime Fabric

After completing the installation, your Runtime Fabric should be activated within your Anypoint organization. To validate your installation, go to Anypoint Runtime Manager and confirm that the status of the Runtime Fabric is Active.

Before deploying an application to your Runtime Fabric:

  1. Associate the Runtime Fabric with at least one Anypoint environment.

  2. Review and update the Inbound Traffic settings based upon your Kubernetes environment.

  3. Deploy an application to verify that Runtime Fabric is installed and configured correctly.

Perform a Rollback

To roll back to a previous version of Runtime Fabric trigerred automatically on failed upgrade, refer to the How to Specify the RTF Agent Version in Upgrades Knowledge base article for details.