Wednesday, September 2, 2020

Deploy your ASP.NET Core Web Applications on Kubernetes with Bitnami and Helm

Bitnami has released the Helm chart for ASP.NET Core, a framework designed by Microsoft that allows developers to create web applications and services for any platform in a fast and secure way.  

This chart is a good example of the two-way exchange between Bitnami and its community. We are working hard at making more charts available in our catalog and, at the same time, our users are also sending us their proposals for new charts.  

The ASP.NET Core Helm chart is an example of this collaboration. A user proposed this chart for the catalog and, with the help of the Bitnami team, created the manifest files required for building the chart. The result? An updated and production-ready ASP.NET Helm chart that uses not-root containers and ships the latest versions of its components and dependencies. 

This blog post explains how to deploy your custom ASP.NET Core application on a Kubernetes cluster using this new Bitnami Helm chart.

ASP.NET Core: an open source framework for building cloud native applications  


ASP.NET Core provides developers with an open source framework that consists of modular components for cloud-based applications. It has a huge community behind the project paying attention to all user requests and issues. Check out its GitHub repository to learn more. 

ASP.NET Core is completely free, and it is also a multi-platform framework. This means that you can build your applications to run on Windows, Mac and Linux, on-premise or for cloud deployment. 

ASP.NET Core is popular amongst web application developers for its performance, flexibility and ease of use. In addition, this framework also offers the following benefits: 

  • It provides a modular HTTP request pipeline. 
  • It works with Kestrel, IIS, HTTP.sys, Nginx, Apache, Docker
  • It includes Razor Pages that provides page-focused scenarios. 
  • It ships Blazor, a framework for building interactive client-side web UI using C# instead of JavaScript. 
  • It supports the dependency injection software design pattern technique. 

If you decide to build your web applications using this versatile framework, the easiest way to move them to Kubernetes is to use the Bitnami ASP.NET Core Helm chart.  


Deploy a ASP.NET Core application using a Docker image  


Once you have an application image published in your Docker Hub repository (or in another container registry), you can deploy it using the ASP.NET Core Helm chart.  

The first step is to add the Bitnami chart repository as follows:  

$ helm repo add bitnami https://charts.bitnami.com/bitnami 

Then, deploy the chart using the parameters shown below. These will override the default image when deploying the chart. Remember to replace the DOCKER-USERNAME/IMAGE-NAME, TAG_NAME, COMMANDS and ARGUMENTS placeholders with your Docker account username and name of your application, application tag name, and the command and arguments to run your container within a pod.

$ helm install my-release bitnami/aspnet-core 

--appFromExternalRepo.enabled=false \ 

--image.registry=docker.io \ 

--image.repository=DOCKER-USERNAME/IMAGE-NAME \ 

--image.tag=TAG_NAME \ 

--command=COMMAND \ 

--args=ARGUMENTS 

Do you want to learn more about the Bitnami ASP.NET Core Helm chart? Check its README file for a complete list of deployment parameters and then give it a try by installing the chart directly in your cluster or through the Kubeapps catalog!