AKS is a super-charged Kubernetes managed service which makes creating and running a Kubernetes cluster a breeze!
This course explores AKS, Azure’s managed Kubernetes service, covering the fundamentals of the service and how it can be used. You’ll first learn about how as a managed service it takes care of managing and maintaining certain aspects of itself, before moving onto the core AKS concepts such as cluster design and provisioning, networking, storage management, scaling, and security. After a quick look at Azure Container Registry, the course then moves on to an end-to-end demonstration that shows how to provision a new AKS cluster and then deploy a sample cloud-native application into it.
For any feedback, queries, or suggestions relating to this course, please contact us at support@cloudacademy.com.
Learning Objectives
- Learn about what AKS is and how to provision, configure and maintain an AKS cluster
- Learn about AKS fundamentals and core concepts
- Learn how to work with and configure many of the key AKS cluster configuration settings
- And finally, you’ll learn how to deploy a fully working sample cloud-native application into an AKS cluster
Intended Audience
- Anyone interested in learning about AKS and its fundamentals
- Software Engineers interested in learning about how to configure and deploy workloads into an AKS cluster
- DevOps and SRE practitioners interested in understanding how to manage and maintain an AKS cluster
Prerequisites
To get the most from this course it would help to have a basic understanding of:
- Kubernetes (if you’re unfamiliar with Kubernetes, and/or require a refresher then please consider taking our dedicated Introduction to Kubernetes learning path)
- Containers, containerization, and microservice-based architectures
- Software development and the software development life cycle
- Networks and networking
Resources
If you wish to follow along with the demonstrations in part two of this course, you can find all of the coding assets hosted in the following three GitHub repositories:
Okay, welcome back. In this lesson, I'm going to introduce you to AKS and take you through several of its basic features. AKS, or Azure Kubernetes Service, is part of the Azure Cloud platform provided to you by Microsoft. It is a Managed Kubernetes service. Now pausing here briefly, I want to emphasize the word 'managed' just mentioned in the previous statement. Managed means that AKS takes care of a lot of the heavy lifting when it comes to installing, managing, and maintaining a Kubernetes cluster.
Installing a Kubernetes cluster by hand or manually, involves significant effort and focus. Things can and will go wrong. And this is also the same when it comes to maintenance and upgrading. With AKS all of this pain is taken away, allowing you to simply focus on building and deploying applications.
Now, some important features that managed AKS provides. Control Plane installation and management, free of charge. Automated Kubernetes upgrades and security patching. Self healing control plane, with super fast SSD backed Etcd. Customized Networking Options in the form of basic networking and advanced networking Automated Cluster Scaling TLS encrypted connections everywhere. Azure Active Directory Role Based Access Control integration for seamless user and group management. And my favorite, it just works!
A Kubernetes cluster, as most of you will already know, consists of a control plane and one or many worker nodes. The control plane, sometimes referred to as the Kubernetes master, consists of a number of internal components that are used to manage, schedule and orchestrate workloads across the worker nodes.
AKS creates and manages the control plane for you, consisting of one or several VMs spread over multiple zones to ensure that it remains highly available. AKS installs and configures the API Server, Scheduler, Controller, and Etcd services for you. The AKS control plane is critical to the overall stability and running of the Kubernetes cluster. Without it, things just don't work.
Again the key point here is that AKS is managing the control plane for you. Since AKS is performing this as part of its managed service, the VMs that make up the control plane will not show up within the Azure AKS portal. They are essentially abstracted away from you. Worker nodes, on the other hand, are managed and controlled by you and will show up as resources within your AKS portal.
Worker nodes can be added and removed to the AKS cluster and are often done so to scale out and in the capacity and performance requirements of the workloads deployed into the cluster.
When it comes to billing, AKS only charges you for the Azure running costs associated with the worker node virtual machines, and connected storage, and networking resources such as load balancers etc.
The AKS control plane which is maintained as part of the managed service is entirely free of charge. The AKS control plane prevents workloads from being deployed onto the master nodes. Therefore you will always require at least one worker node attached to the cluster to be able to host your workloads, meaning there will always be some cost associated with hosting meaningful applications within an AKS cluster.
AKS, as we already know, takes care of ensuring that the Kubernetes control plane is always functioning, healthy and running. This removes much of the administrative burden and overhead, allowing you to simply focus on building applications and not perform cluster maintenance. This also means that the control plane is locked away from you.
Now there may be times where you might need to launch a customized version of Kubernetes on Azure, such that you can perform customizations within the control plane. To accomplish this, the same software and code base used to create AKS is actually open-sourced in the form of AKSEngine. AKSEngine is an upstream version of AKS, and is located on GitHub under the Microsoft Azure account. All features that finally make it into AKS have already been proven and battle hardened firstly within AKSEngine.
AKSEngine can be downloaded and used to quickly bootstrap Kubernetes clusters on Azure. Keep in mind that launching a Kubernetes cluster using AKSEngine is not covered by the usual Microsoft Azure support policy since AKS is being offered as open-source.
Okay, that completes this lesson. In this lesson, I presented to you a quick introduction to AKS. I explained that AKS is a managed service which takes care of creating and managing the control plane completely free of charge. I gave a high level overview of the full AKS architecture and how it is architected with various useful performance, security, and availability features. I also explained that AKS is actually a downstream version of the open-sourced AKSEngine code base.
Okay go ahead and close this lesson and I'll see shortly in the next one.
Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.
Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).