k8s, formally known as Kubernetes is an open-source container orchestration system. It provides the solution for automation of app deployment, scaling & management. Various technologies provide similar features to Kubernetes but Azure Kubernetes Services AKS provides full support to create & manage clusters easily and fast.
Let’s deep dive into the basic concepts of Kubernetes.
Building Blocks of Kubernetes
API Server: It is a server that provides access to the k8s cluster as it exposes k8s API.
Pods: A bunch of containers is logically grouped which also allows sharing of the same resources.
Node: Similar to a Virtual Machine VM where containers are run by k8s.
Controller Manager: Monitor cluster activities through API Server & make changes in state as and when required.
Etcd: Used for backup & restore. Also contains a key-value store that manages cluster state.
Scheduler: It schedules available pods to nods & makes sure that it’s running the most optimal pod to run pod
Kube-proxy: Takes care of proxying requests k8s services & pods.
Kubelet: It’s a node agent & runs on every node. Handles requests from scheduler & starts node based on it.
In the above diagram, there are two nodes, first, is Azure Managed which is called as master node & the Second is the customer-managed which is called a worker node.
Now let’s understand AKS & try to understand from basics of k8s
AKS provides provisioning, scaling & automation management of resources as and when required. The best part of that is that it minimizes overhead for developers as well as an administrator. In the deployment process, AKS manages to configure the master as well as a worker node. It also handles various tasks like application rioting, AD integration, upgrading clusters, management & monitoring of services as well as networking features.
Benefits of Azure Kubernetes Services:
Get started with k8s with no advanced knowledge required
Faster development of the application as it reduces the time for bug fixing & considers self-healing, patching & auto-upgrades.
Implementation of Continuous Integration & Continuous Deployment including DevOps for application with few clicks. Also supports the agile program management
Supports for open-source tools & APIs.
With RBAC integration, you can configure Role-Based Access Control roles with AD users.
Availability & configuration of environment based on user choice. It supports various containers like Windows Server & Linux to run any application of your choice.
Costing for nodes is applicable for AKS. The node needs to pay for other k8s infrastructure services.
Cons of Azure Kubernetes Services:
Compared with other Kubernetes Services, AKS is the newer one and due to that many of its features are in alpha or beta.
Upgradation of a node is not that easy. Need to perform a few steps like removing, editing & redeploying.
The default node must be running while the deployment of the cluster. Once is it done; the cluster type can’t be changed.
AKS is a newly emerged k8s service after other k8s providers and it is still under development. Though some of its features are very easy to use. One who doesn’t have knowledge of k8s & is required to use it must try AKS because of its ease of configuration. Many other things can be explored in Azure Kubernetes Services. Developers should give it a try AKS & get great exposure out of it.