Monday, September 14, 2020

Deploying dockerized .net microservice to Kubernetes cluster using Azure DevOps YAML pipeline


In my previous blog https://www.leogether.com/2020/09/creating-kubernetes-cluster-with-azure.html

I created the Azure Container Registry and Kubernetes cluster using Terraform and Azure DevOps. I would encourage you to read my previous blog first before reading this.

In this blog, I will show you how to import a docker image into the Azure Container registry and deploy the application in the Kubernetes cluster using the Azure DevOps YAML pipeline. The complete architectural flow is as below:



Sunday, September 13, 2020

Creating Kubernetes cluster with Azure Devops and terraform

 In this blog, we will look at how to create infrastructure in Azure using Terraform in a deployment pipeline using Azure. Terraform is an open-source tool for building, changing, and versioning infrastructure safely and efficiently.

I will guide you through the process of creating a Kubernetes cluster on Azure using Terraform and Azure DevOps.  There is quite a bit of moving parts to configure and run through a series of steps to make it work. We will go step by step to perform a list of activities as below:

  • Creating Service Principal and Client Secret using Azure CLI.
  • Creating ssh key which can be used to pass through the terraform, and terraform will pass through that to AKS and we can use that to access the machines running on the Kubernetes.
  • Running Bash script to create Azure Storage and Azure Vault.
  • Creating the Azure DevOps pipeline to deploy ACR and Kubernetes cluster using terraform configuration files.

Sunday, August 23, 2020

Deploy multi-container application using Docker Compose

 

Hi Everyone, in this blog we will see how to deploy the multi-container applications using Docker Compose. 

Docker Compose is a tool for running multi-container docker applications. Usually, one container is used to host one service. Let's take a case where have a massive application where you have multiple services, in that case, we would need several containers for each service and containers will need to interact with each other. Creating it manually using the docker run command will be complicated.

Thursday, August 13, 2020

Kubernetes - the container orchestration engine

 What is Kubernetes

I talked about dockers and containers in one of my blogs: 

https://leogether.blogspot.com/2020/08/docker-basics.html

Now let's talk about what is Kubernetes and why do we need it?. 

Containers are fast, reliable, light-weighted, and scalable.

You can easily scale 1 container to many containers but in the real world, there is a need that large organizations will scale multiple containers for an application, needed to ensure availability, load balancing, scaling up, and down based on the load. In such a situation you will need to manage containers like deploying, scheduling, scaling up and down, load balancing, monitoring in some automated way. For this reason, we need a container management tool.

Kubernetes is an opensource container orchestration tool/engine to automate deployment, scale, and manage the containerized application on a group of servers.

Docker is a containerization platform, and Kubernetes is a container management platform.



Dockers and Containers

 

Docker and containers basics


An application works in the Dev environment but the same fails in testing or prod environment due to different computing environments. 

Docker is a container-based technology to create, deploy, and run applications by using containers.

They are lightweight alternatives to VMs, uses host OS, and do not need to pre-allocate any RAM.

Below are self-explanatory diagrams of what is docker and how docker works.








Wednesday, August 12, 2020

Deploy microservice in AWS Kubernetes using EKSCTL


In this blog, you will see the magic of eksctl, a simple CLI tool for creating clusters on EKS - Amazon's new managed Kubernetes service for EC2. It is written in Go, and uses CloudFormation.

In my previous blog https://leogether.blogspot.com/2020/08/deploy-net-microservice-on-aws.html, we did all the steps manually to deploy the service in AWS Kubernetes using AWS management console with single command. 

Here we will see that all these steps will be done by one single command using eksctl

Lets get started.

Monday, August 10, 2020

Deploy .net microservice on AWS Kubernetes using AWS management console


Hi there, I am excited to share my second blog on deploying an app to AWS Kubernetes which is nothing but EKS. In this particular blog, I have taken this approach of manually creating EKS cluster using the AWS management console, just to learn how it works, which I feel is very important.

In my last blog, which was the very first blog I created, I talked about containerizing an application. If you haven't seen please go to this link:

https://leogether.blogspot.com/2020/08/containerizing-net-microservice.html?zx=5b6e13926dfa506

Before we can move on to hands-on I would like to highlight on pre-requisites and steps we are going to do, and also a bit of understanding of Kubernetes. 

To know about Kubernetes, please see my blog here:

 https://leogether.blogspot.com/2020/08/kubernetes-container-orchestration.html

Sunday, August 9, 2020

Containerizing a .net microservice


Welcome visitor! Thank you for stopping by. This is the first blog of mine and I hope you like it. I am really excited about it. Please bear with me and I promise to get better every time.

In this article, you are going to see a complete tutorial on how can we can containerize a .net microservice. I will go step by step so that you can follow along. The following steps are covered: