We used this approach to set various Kubernetes and Helm related values (what service types to use, which ports to expose etc.) but we didn't change anything in our application.
![masstransit example masstransit example](https://i.stack.imgur.com/Qf3BP.png)
Masstransit example how to#
In the previous post, we saw how to control various settings of the Helm chart by adding values to the Chart's values.yaml file, and also at install-time, by passing -set key=value to the helm upgrade -install command. We also specified that an ingress should be created for the `my-test-api` service Helm creates a deployment of each app, with an associated service. When installed, these charts create a deployment for each app, a service for each app, and an ingress for the test-app-api only. We created Docker images for both of these apps, and created a Helm chart for the solution, that consists of a "top-level" Helm chart test-app containing two sub-charts ( test-app-api and test-app-service). The TestApp.Service represents a "headless" service, that would be handling messages from an event queue using something like NServiceBus or MassTransit. It consists of two applications, TestApp.Api which is a default ASP.NET Core web API project, and a TestApp.Service which is an empty web project. In this post we extend the Helm chart to allow setting configuration values at deploy time, which are added to the application pods as environment variables.
![masstransit example masstransit example](https://i.stack.imgur.com/r33PS.png)
![masstransit example masstransit example](https://img.masstransitmag.com/files/base/cygnus/mass/image/2016/08/Brio_Bus.57b224c0aca3a.png)
So far in this series I've provided a general introduction to Kubernetes and Helm, and we've deployed a basic ASP.NET Core solution using a Helm chart.