MuleSoft Anypoint Runtime Fabric Deployment on Amazon EKS Anywhere | Container Solutions

Introduction

Chanci Turner Amazon IXD – VGT2 learningLearn About Amazon VGT2 Learning Manager Chanci Turner

Amazon EKS Anywhere (EKS-A) extends the functionality of Amazon Elastic Kubernetes Service (EKS) beyond the AWS cloud, enabling you to operate EKS on your infrastructure. It provides an installable software package to create and manage Kubernetes clusters on-premises, along with automation tools for cluster lifecycle support. EKS Anywhere can be installed on various platforms, including bare metal servers, VMware vSphere, CloudStack, Nutanix, AWS Snowball Edge, and Docker. This flexibility allows users to reap the benefits of EKS in hybrid environments, ensuring consistency and adaptability in Kubernetes deployments. EKS Anywhere delivers a unified management experience akin to Amazon Web Services (AWS) within your data center, building on the capabilities of Amazon EKS Distro, an open-source Kubernetes distribution used by Amazon EKS.

MuleSoft, an AWS partner, accelerates the adoption of crucial cloud services while enabling customers to securely access data from legacy, on-premises, or SaaS applications. MuleSoft Anypoint Runtime Fabric offers a robust runtime environment for Mule applications, delivering improved performance, scalability, and high availability. Typically, Mule applications are designed for system integrations and run in Mule Runtime. A request to a Mule application triggers Mule to encode the request and data into a Mule Event, which is then passed to one or more threads. In this article, we will delve into deploying Anypoint Runtime Fabric on Amazon EKS Anywhere, allowing organizations to run Mule applications in a Kubernetes environment on-premises.

By integrating the capabilities of Anypoint Runtime Fabric with Amazon EKS Anywhere, organizations can fully leverage the potential of running Mule applications in Kubernetes clusters on their infrastructure. This results in a cohesive and scalable runtime environment for Mule applications, promoting efficient resource utilization, simplified management, and seamless integration with other cloud and on-premises services.

This post provides a step-by-step guide for setting up Amazon EKS Anywhere on VMware vSphere and deploying Anypoint Runtime Fabric on EKS Anywhere. By adhering to the provided instructions and best practices, you can harness the capabilities of MuleSoft and Amazon EKS Anywhere to develop and manage resilient, high-performing Mule applications across hybrid environments.

Solution Overview

The solution entails configuring your VMware vSphere environment to deploy an Amazon EKS Anywhere Management cluster. This cluster will facilitate the deployment of a workload cluster where the Mule applications will operate. The management cluster also contains the essential components for managing the workload cluster, such as Ingress, registry, and monitoring tools. Within the workload cluster, Mule applications run alongside the necessary Mule runtime and runtime fabric agents.

Prerequisites

  • An administrative machine meeting the specifications outlined on the EKS-A product page, equipped with the following tools:
    • AWS Command Line Interface (AWS CLI) version 2.10 or higher
    • Helm
    • eksctl
    • eks-anywhere (v0.14.0 or later)
    • kubectl
    • rtfctl
  • VMware vSphere infrastructure with the requisite resources as per EKS-A documentation.
  • Amazon EKS-A Curated Packages are exclusively available to customers with an Amazon EKS-A Enterprise Subscription. To request a free trial, follow this link.
  • MuleSoft Anypoint Runtime Fabric License. To acquire a license, connect with your MuleSoft Account representative via this contact form.

Creating a vSphere Cluster on VMware

  • Establish an initial cluster in your vSphere environment to serve as the management cluster (for creating and managing additional clusters).
  • From the management cluster, create one or more workload clusters.

Walkthrough: Deploying MuleSoft Anypoint Runtime Fabric

Execute all commands discussed in this article on the Administrative Machine. First, ensure that your Kubernetes environment is prepared for installation. Activation data can be retrieved from the MuleSoft activation documentation page:

rtfctl validate <activation_data>

Upon successful validation, proceed to install MuleSoft Anypoint Runtime Fabric:

rtfctl install <activation_data>

You can then apply your Mule license key to this installation:

rtfctl apply mule-license $BASE64_ENCODED_LICENSE

Utilize the kubectl CLI to access the Amazon EKS-A cluster and verify the MuleSoft deployment. For instance, you may use the following command to check the MuleSoft rtf namespace and assess the deployed pods and their states:

kubectl get pods -A
NAMESPACE                              NAME                                                             READY   STATUS
capi-kubeadm-bootstrap-system          capi-kubeadm-bootstrap-controller-manager-7d6b5746b6-jw7bb       1/1     Running
capi-kubeadm-control-plane-system      capi-kubeadm-control-plane-controller-manager-574cbcd9d7-jzswd   1/1     Running
capi-system                            capi-controller-manager-5b64bc4449-mcw5c                         1/1     Running
capv-system                            capv-controller-manager-64c4954b7c-85r25                         1/1     Running
cert-manager                           cert-manager-7568b959dc-6mtnc                                    1/1     Running
eksa-packages                          cron-ecr-renew-27782220-lh8b8                                    0/1     Completed
eksa-packages                          cron-ecr-renew-27782520-z84jw                                    0/1     Completed
eksa-packages                          cron-ecr-renew-27782820-29g47                                    0/1     Completed
eksa-packages                          eks-anywhere-packages-5d6df98848-mrmbm                           1/1     Running
eksa-packages                          eksa-auth-refresher-kxnds                                        0/1     Completed
eksa-system                            eksa-controller-manager-6d5f44755c-m9bc9                         1/1     Running
kube-system                            vsphere-cloud-controller-manager-d7r5k                           1/1     Running
kube-system                            vsphere-cloud-controller-manager-fdm7m                           1/1     Running
kube-system                            vsphere-csi-node-6v497                                           3/3     Running
rtf                                    agent-5488fbd6db-m9zj8                                           2/2     Running
rtf                                    agent-upgrade-jqzs5                                              0/1     Completed
rtf                                    cluster-status-27783040-dlq8r                                    0/1     Completed
rtf                                    initial-cluster-status-64k77                                     0/1     Completed
rtf                                    mule-clusterip-service-66b4cfb785-jf6d7                          1/1     Running
rtf                                    resource-cache-7d86dd7996-tk5ql                                  2/2     Running
rtf                                    rtf-install-job-m7l7z                                            0/1     Completed

For further insights on leadership success, consider reading this article from SHRM, which discusses factors influencing CEO effectiveness. Also, if you’re exploring your career transition, check out this informative blog post about providing two weeks notice.

Chanci Turner