Skip to main content

Posts

Understand Kubernetes Object - Init Containers

BackgroundThis is the fifth part of the series on building highly scalable multi-container apps using AKS. So far in this series we have covered following topics.Part 1 :  we provisioned a managed Kubernetes cluster using Azure Container Service (AKS). Part 2 : Understand basic Kubernetes objects - Kubernetes Namespace. Part 3 : Understand basic Kubernetes objects – Pod and DeploymentPart 4 : Understand Kubernetes object – ServiceIn this post we will get familiar with the concept of init containers. Lets first understand the need for init-containers. In our application we have the TechTalksWeb API which depends on the persistent data stored in MS SQL Server database. It takes few seconds for the SQL Server container to start and to initialize the static data. In the meantime the web API container will start and try to connect to the database container. It will fail if the database container is not yet initialized. In such situation, Kubernetes provides an object named init-container. …

My experience with Voxxed Days 2018

BackgroundThis post is about my experience about the Voxxed Days Singapore 2018 conference. I had attended the conference previous year and had shared a similar experience following the 2017 event. This is my attempt to give my perspective about the great event which happened on 1st June 2018.Brief history about my own journey from attendee to the speaker Voxxed Days 2017 is a life changing event in my career. I was inspired and highly motivated by the talks from the event. Two talks which remain in my memory forever were the ones by Josh Long and Burr Sutter. There were definitely others which were equally good, but these two guys left a lasting impression on me. I was determined to follow in their footsteps and share my knowledge with the community. I was active in the community events as an attendee before this event. But after 2nd June 2017, I was inspired to give back to the community as much as I could. I managed to speak at couple of our internal Tech Talks in our office which …

Understand Kubernetes Object–Service

BackgroundThis is the fourth part of the series on building highly scalable multi-container apps using AKS. Previous posts in this series:Part 1 :  we provisioned a managed Kubernetes cluster using Azure Container Service (AKS). Part 2 : Understand basic Kubernetes objects - Kubernetes Namespace.Part 3 : Understand basic Kubernetes objects – Pod and DeploymentThis post we will focus on creating another basic resource in Kubernetes named Service.We will be performing following actions during this postUnderstand the basics of Service object in KubernetesBuild Kubernetes service manifest fileCreate a service using Kubernetes CLI kubectlGet details about Service using kubectlGet Details about service using Kubernetes dashboardDelete service using KubectlUnderstand the basics of Service object in KubernetesIf you recall from the last post, we successfully deployed the web application container using the Deployment controller. If we want to access the web user interface, how do we do that? …

Understand Kubernetes Objects – Pod and Deployment

BackgroundThis is the third part of the series on building highly scalable multi-container apps using AKS. Previous posts in this series:Part 1 :  we provisioned a managed Kubernetes cluster using Azure Container Service (AKS). Part 2 : Understand basic Kubernetes objects - Kubernetes Namespace.This post we will focus on creating another basic resource in Kubernetes named Pod. We will be performing the following actions during this postGet familiar with Pod and DeploymentCreate a Pod using Kubernetes manifest file via Controller (Deployment)Find details about the Pod and Deployment using Kubernetes CLI kubectlFind Pod and deployment details using Kubernetes dashboardDelete the Deployment using Kubernetes CLI kubectlDelete Deployment using Kubernetes dashboardPodA pod is the smallest unit of deployment in Kubernetes. Usually a pod consists of a single container and its related resources like storage/networking and the specification of how to run the container. This is illustrated in th…

Understand Kubernetes Objects – Namespace

BackgroundThis is the second part of the series on building highly scalable multi-container apps using AKS. In the earlier post  we provisioned a managed Kubernetes cluster using Azure Kubernetes Service (AKS). I will reuse the code which was prepared for my talk during the Global Azure Bootcamp event in Singapore on 21st April 2018. This post we will focus on creating one of the most basic resource in Kubernetes. Lets get started with some basic understanding of the Kubernetes objects.We will be performing the following actions during this postCreate a namespace using kubectlCreate a namespace using Kubernetes manifest fileDelete the namespace using kubectlFind details about the namespace using kubectlKubernetes ObjectsKubernetes or K8s as it is commonly called has support for different types of objects. It provides different ways to create basic objects like Namespace, Pod, Volume, Service, etc. There are higher level API’s which make use of the basic objects. These include things l…

The goodness of Azure CLI Interactive shell

BackgroundOff late I have been working a lot with terminal and command line interface (CLI) for things like Docker, Azure, Kubernetes etc. While working with these wonderful technologies they provide an easy way to auto-complete different commands. Without auto-completion its a nightmare to remember the syntax for each & every command. Even with auto-completion enabled sometimes it is really a pain to remember different parameters a command can take. Sometimes you have multiple options which can be assigned as a parameter value. Most of the times I find using the help feature with –h or –help option to know all these details about the command, its parameters and available options. If you are starting new with some technology like Kubernetes or with cloud provider like Azure which has various services which can be managed using CLI it can be really difficult to get started. When it comes to Azure CLI there is an easy option called Interactive which simplifies things to a great exte…

Provision Kubernetes cluster using AKS

BackgroundThis is the first part of the series on building highly scalable multi-container apps using AKS. As mentioned in the earlier post I will be building this series using Kubernetes as an Orchestrator for managing the cluster on which our Docker containers will be running. I assume that the readers have preliminary knowledge about Docker and containers in general.Need for OrchestrationLets try to understand the need for container orchestration. Docker containers are great at packaging the applications into self contained images. When we start running these images as containers in production, we need to address cross-cutting concerns like high availability, monitoring, resilience, scaling, disaster recovery etc. Containers on their own are not capable of addressing such requirements. This is where Container Orchestration comes into the picture. Think of it as an operating system for containers which also has many other advanced features apart from managing the lifecycle of contai…