Azure Kubernetes Introduction - Episode 1

Azure Kubernetes Introduction - Episode 1

Deep Dive in AZURE Kubernetes

Vijayabalan Balakrishnan's photo
Vijayabalan Balakrishnan
·Jun 25, 2022·

8 min read

Subscribe to our newsletter and never miss any upcoming articles

Table of contents

Kubernetes

Kubernetes has become a benchmark for container orchestration. Since it was founded in 2014, Kubernetes has grown in popularity. It has been embraced by start-ups as well as large corporations, with all the major public cloud providers offering a managed Kubernetes service.

What is Kubernetes

Kubernetes is a portable, scalable and open source platform to manage containerized workloads and services, which facilitates both declarative configuration and automation. It has an extensive and fast-growing ecosystem.Kubernetes services, support and tools are available to a large extent.

Robusta is the best way to stay on top of Kubernetes alerts. The core of Robusta is an automations engine (think Zapier/IFTTT but in YAML) that automatically collects data when errors and alerts fire. For example, if a pod was CPU throttled then we collect system data, analyze it, and tell you why the throttling occured and how to prevent it in the future.For More Details, Visit - home.robusta.dev

Why is Kubernetes the best?

It is Kubernetes' unique capacity to scale and manage such containerized applications.However, this makes it a choice over virtual machines and other provisioning software to increase efficiency and provide business value.

cloudnloud technology meetups (25).png

Containers

Containers and microservices have revolutionized how we handle an enterprise application, service or even software.But it was only when Kubernetes escaped from Google laboratories that the order was entirely in place.Kubernetes has provided the perfect platform to handle fast-growing containers everywhere.

Container Advantages

Leaping into the container revolution, all hyperscale cloud providers have introduced their native services to run containers on their platform.But that's a big problem: blocking providers.Go into Kubernetes again. As customers requested, all cloud providers were required to add services to run Kubernetes on their platform.This has provided great flexibility for executing workloads in one cloud or the other. So now you think that the portability of applications is another big benefit of using Kubernetes.

Before and After Kubernetes

image.png

All containers can offer important advantages in terms of coherence and efficiency and Kubernetes provides a management layer on top of the containers.We've been able to operate Docker for many years without Kubernetes.Prior to this, Docker precursors such as BSD Jails and Solaris Zones have existed for more than a decade.

Older environments can utilize Xen, KVM, Docker, VMWare and other container or virtualization technologies.These all have cost and efficiency advantages, but without a management framework over them, businesses have been forced to build automation to handle things such as failover and load balancing. The VMWare ESXi hypervisor is free, but sophisticated failover and management features are only available with the vCenter suite.Xen and KVM are free hypervisors, but every virtual machine must be managed independently and hypervisors do not have to deal with node failure.Docker’s containerization improves on VMs further by improving the efficiency, and Simplifying container creation and deployment at the expense of requiring the container operating system to be the same as the host operating system.

Kubernetes strength is in managing highly dynamic environments. If you need dozens or hundreds of new servers quickly, it’s easy to do with Kubernetes. It is why it’s well suited to cloud environments which have huge pools of server capacity available at any time. Other tools require you to build difficult detection and automation around deploying new services, servers and configuration management.

One of the less obvious challenges of managing many servers is the problem of service discovery and load balancing. When your server goes down, how do you remove it from service? How do you divide work equally among servers? With only a few stable servers, a system admin can manually add and delete servers to a load balancer or DNS.But this model doesn't work when the application crashes or you add and delete servers multiple times a day or per minute. It’s critical that clients have up-to-date information about what servers are available.

Auto-scaling, failover, and service discovery are some of the largest domains that Kubernetes solves.Without Kubernetes, companies are forced to construct customized solutions for these functionalities.

Do we really need Kubernetes?

You do not require Kubernetes to run your apps. It is just one of a number of options for running a production software.Carefully examine whether the added learning curve and configuration overhead are worth the benefits of switching to Kubernetes.

Why Kubernetes comes in handy.?

Kubernetes is a portable, scalable and open source platform to manage containerized workloads and services, which facilitates both declarative configuration and automation. It has an extensive and fast-growing ecosystem.Kubernetes services, support and tools are available to a large extent.

Kubernetes and Docker are two of a kind.?

The difference between the two is that Docker is about packing containerized applications on a single node and Kubernetes is supposed to execute them through a cluster.Given that these packages accomplish various things, they are often used in tandem. It goes without saying that Docker and Kubernetes can be used independently.

Microservices

main-qimg-995909c01ebae551d7eed0774daa04ae.webp

Today, microservice architecture is commonplace in the development of distributed systems. An application based on microservices is a group of services working together to train the application, while individual services themselves can be independently constructed, tested, deployed and scaled up.There are many advantages to style, but also several drawbacks.

An essential part of a microservice architecture is the fact that each individual service serves a single basic function.Each service provides one operational function.Various departments work together to create a complete application.These services work together via network communication, generally using the HTTP REST or gRPC API.

Benefits of Microservices

  • A developer can intervene from the very first day and take it over.
  • A small team or even a person can modify it, test it, upgrade it and deploy it or even replace it completely.

  • Easy to understand because they are a small feature, and easy to modify for developers, they can thus help a new team member to become productive quickly.

  • Each of these services is easily administered independently.

  • If one microservice fails, the remaining microservices will continue to operate.

  • Not only are we able to use the right technology for the job but we can deploy at different times.

  • It's really easy to test and deploy and manage and re-architect and rewrite and adapt individual applications.

DisAdvantages of Microservices

  • A microservice architecture is a complex system with multiple services and databases, so all connections must be treated carefully.Deployment involves a distinct process for each service.

  • It is not always easy to communicate among different services. It may be necessary to open and consume a Message Queue for each communication channel.

  • A separate deployment, and version workflow is required for each microservice. It is therefore important to ensure that the setup workflow is automated, otherwise it means increased workload for the operations teams.

Azure Kubernetes

What is Azure Kubernetes for?

Microsoft Azure is an internationally recognized cloud platform for large-scale SMEs.while Kubernetes is a modern approach that is rapidly becoming the standard methodology for managing native cloud applications in a production environment.Azure Kubernetes Service (AKS) has combined the two solutions that enable customers to quickly and easily build fully managed Kubernetes clusters.

AKS - Managed

Azure Kubernetes Service (AKS) simplifies deploying a managed Kubernetes cluster in Azure by offloading the operational overhead to Azure. As a hosted Kubernetes department, Azure handles critical tasks such as health surveillance and maintenance. Since Kubernetes masters are managed by Azure, you only manage and maintain the agent nodes. Thus, AKS is free; you only pay for the agent nodes within your clusters, not for the masters.

aks.jpg

What is Pods in AKS?

Pods are the smallest deployable units of computing that you can create and manage in Kubernetes. A Pod (as in a pod of whales or pea pod) is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers.

What is AKS deployment?

Azure Kubernetes Service (AKS) is the quickest way to use Kubernetes on Azure. Azure Kubernetes Service (AKS) manages your hosted Kubernetes environment, making it quick and easy to deploy and manage containerized applications without container orchestration expertise.

How many nodes are in AKS cluster?

They may have at least 1 node, but it is recommended to have 2 or 3 nodes if it is your only pool of Linux nodes.They only support the AKS cluster for VM scale sets.Nodes require at least two vCPUs and four GB of memory.They have to cope with at least 30 pods.

How many pods can run on a node in Aks?

On Azure Kubernetes Service (AKS), the default limit is 30 pods per node but can be expanded up to 250.

What is AKS namespace?

Kubernetes resources, like modules and deployments, are logically grouped in a namespace.These groupings allow you to logically divide an AKS cluster and restrict access to create, view, or manage resources.You may create name spaces to separate business groups.

AKS Benefits

  1. Accelerated Application Development
  2. Supports Agile Project Management
  3. Security and Compliance
  4. Ease of Application and Efficient Resource Utilization
  5. Faster End-to-end Development and Integration
  6. Run any Workload in the Cloud
  7. Removes Complexities and Reduces Expenditure
  8. Using only the Resources needed

Wait for the Next Blog ✨

  • Prerequisites of All upcoming POC labs.
  • How to create AKS Cluster,ACS,ACI,ACR
  • Deployment sample Application and much more 😄

References :

Community and Social Footprints :

Happy Learning 📚

Thank you!

Did you find this article valuable?

Support Cloudnloud Tech Community by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
 
Share this