Kubernetes in Azure

When you're running containers in a dev, staging, or production workload, you need a way to manage them. A container runtime, like Docker, is simply just an engine in a car. Without the wheels, the car won't move. Kubernetes is the wheels to the car. 

In this blog post, you're going to get a quick intro to Kubernetes and why running Kubernetes in Azure is an ideal scenario for any workload. 

What is Kubernetes?

Before talking about what Kubernetes in Azure looks like, let's dive into how Kubernetes can help you and your organization succeed faster.

This isn't a post on what Kubernetes is, however, this section should give you a rough, high-level overview of what it is

Let's take the car and engine scenario. Docker, or another container runtime, is the engine. It's the component that takes an application you're running and brings it to life. However, it's a life that isn't scalable. It's a one-stop-shop for running an application, but you can't do much after that. Much like you can have one car with an engine and it can run, but without wheels, you aren't going anywhere. 

Kubernetes is a popular orchestration platform that allows you to scale out containers, running on either Docker or another container runtime. Some of the key benefits you have with Kubernetes is: 

  • High Availability

  • Multiple Replicas

  • YAML configurations to define an environment

  • Self-healing

  • An API to work with to manage the containers inside of the Kubernetes cluster

Kubernetes is what takes a container from simply running on a localhost or a server as one container to many containers running across multiple platforms.

How Kubernetes Works

Kubernetes is made up of many parts, but let's talk about the two main parts that makes Kubernetes run. 

The first part is the master node, and the master node is where the Kubernetes  

API is installed (amongst other things). The API allows you to interact with Kubernetes using the command-line tool called kubectl. With kubectl , you can do things like create deployments, secrets, and many other components. 

The second part is the worker node, and the worker node is where containers live. Think of the worker nodes as the storage for the containers.   

Kubernetes Running in Azure

Although Kubernetes makes application workloads more efficient to deploy and manage as containers, there's one thing that held Kubernetes back - the infrastructure needed to deploy it. 

Originally, you had to deploy Kubernetes on a few Linux virtual machines or servers, install the Kubernetes API, manage the master and worker nodes, and configure the environment. With Kubernetes in Azure, you don't have to do any of that. Instead, you use a service called Azure Kubernetes Services (AKS) 

AKS is an abstraction for everything you originally had to do to create a Kubernetes cluster.  

Let's talk about 3 key reasons why you'd want to use AKS. 

No Cluster Management

With AKS, you don't have to manage the master node and the API itself. Instead, Azure manages that for you. You literally never even connect to it or see it. One of the only times you need to interact with the master node is to upgrade the API version of Kubernetes, and all you have to do for that is click a button in the Azure portal. The technical stuff is done on the backend. 

The only infrastructure management you have is the virtual machines running the worker nodes, but it's very rare that you'll even have to touch those, ever. For example, most people never even SSH into them the entire time they're up. 

Security

When it comes to security, Azure has hundreds of employees that their sole focus in cyber security. Because of that, the clusters and servers that AKS is running on is certainly in good hands. 

Another key component to security in AKS is authentication. Azure uses Azure Active Directory (AAD) and service principals to give you as much granularity in your security practices as you'd like. You can make the clusters as freely available as you want or lock them down to a single department. 

Monitoring

Monitoring plays a huge role for any developer or cloud infrastructure professional. A properly monitored Kubernetes cluster is the difference between an application that's running in production for a customer and a really bad wakeup call at 2:00 AM. 

With AKS, monitoring and alerting is built-in for you automatically. You don't have to set anything up or configure a monitoring solution on a server. Azure Monitor and AKS are used together to see information like: 

  • Container status

  • Resource utilization

  • Server status

  • Many others

Kubernetes on Azure Course

Because of the many key benefits of AKS talked about in this blog post and the others that aren't, Refactored decided to create an entire course dedicated to working with Kubernetes in Azure. The course assumes prior Kubernetes knowledge. It then takes that knowledge and applies it to the world of Kubernetes in Azure.  

The course goes over: 

  • Creating a Kubernetes Cluster

  • Automatic deployments

  • Monitoring

  • Alerting

  • Ci/CD

  • AKS

  • And more

Check it out today!

 

Previous
Previous

Azure Storage Account Updates

Next
Next

Azure AD Connect - Staging Mode