Introduction
Learn 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.