Modal Title
Cloud Services / Containers / Kubernetes

Tutorial: Deploy Acorn Apps on an Amazon EKS Cluster

In the last and final part of the series on Acorn, we will explore how to move applications running in a local development environment to a production environment running in the AWS cloud
Sep 30th, 2022 3:00am by
Featued image for: Tutorial: Deploy Acorn Apps on an Amazon EKS Cluster

Acorn is a new application deployment framework for Kubernetes launched by the founders of Rancher. It is open source, simple, lightweight, and a portable framework to deploy and scale microservices on Kubernetes.

In the last and final part of the series on Acorn, we will explore how to move applications running in a local development environment to a production environment running in the Amazon Web Services‘ cloud.

Step 1: Interactive Debugging of Acorn Apps in Dev Environment

Assuming you followed the last tutorial, you should have already deployed the Azure vote Acorn application in Minikube.

Let’s modify the application while it is still running without the need to rebuild the images and update the tags in the Kubernetes deployment. Acorn makes it easy to iterate through the code and configuration changes without having to follow the traditional workflow of Docker and Kubernetes.

First, deploy the application to Minikube by running the below Acornfile from the azure-vote directory:



The -i switch runs Acorn in an iterative mode helpful during development and testing.

Accessing the Minikube IP, you should see the Azure Vote application.

Open another terminal window and modify the file config_file.cfg to replace the cats and dogs with DC and Marvel comics.


Now, touch the Acornfile to force the build and deploy workflow.


When you refresh the browser, you can see the updated poll. This was achieved without rebuilding the container images and updating the Kubernetes deployment.

Step 2: Set up the Production Environment in AWS

To move the application to the cloud, we need an EKS cluster and an image registry in AWS. The image registry is configured within Amazon Elastic Container Registry.

Run the below command to launch a three-node EKS cluster in Mumbai (ap-south1) region.


Install the Ingress controller based on Nginx, which is a prerequisite for Acorn.


Let’s install Acorn in the EKS cluster.


The next step is to create the repository to store the container images of the Acorn application. We need two repositories for the backend and frontend components of the application.


Step 3: Push the Images and Deploying the Application

With the infrastructure in place, let’s go ahead and push the images to ECR.

Let’s create an Acornfile for the custom front-end web application.


Before we can build, tag, and push the image, let’s login to ECR from Acorn.


Replace the AWS account id and region based on your configuration. Acorn can now push and pull images from ECR.

It’s time for building, tagging, and pushing the images to Amazon ECR.


Since the backend container image is prebuilt, we just need to tag and push it.




Verify that both images are pushed correctly.


Finally, create a new Acornfile.eks with the below contents to run the app in production:




$ acorn apps
NAME IMAGE HEALTHY UP-TO-DATE CREATED ENDPOINTS MESSAGE
comic d79f1a5a0e1b 2 2 25s ago http://PENDING_INGRESS => comic-frontend:80 OK

Wait for the ingress to get wired with the application and hit the URL. You should see the comic vote application running in AWS.

In this tutorial, we explored the workflow involved in moving Acorn applications from the development environment to production.

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Docker.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.