Kubernetes in Azure

Kubernetes in Azure: Architecture and Service Options

Read Next:

What is Kubernetes in Azure?

Kubernetes is a fast-growing platform for managing containerized applications, storage, and networking components. It allows developers and administrators to focus on application workloads, not infrastructure components. Kubernetes provides a convenient, declarative way to deploy large numbers of containers, with a powerful set of APIs for management tasks.

Kubernetes can be complex to install and maintain, especially when running in production and at an enterprise scale. To reduce the complexity of key management and deployment operations, such as scalability and Kubernetes updates, you can use Azure Kubernetes Service (AKS), which offers managed Kubernetes services.

To simplify the process, Azure manages the AKS control plane, and customers pay only for the AKS nodes the application runs on. AKS is based on the Azure Kubernetes Service Engine, which was released by Microsoft as open source.

This is part of an extensive series of guides about https IaaS.

In this article, you will learn:

Azure Kubernetes: Reference Architecture

To illustrate how Kubernetes is typically implemented on Azure, Microsoft provides a reference architecture, which is a Microsoft application implemented in Azure Kubernetes Service (AKS). This reference architecture can be a starting point for most implementations.

Azure Kubernetes Service diagramSource: Azure

The reference architecture is composed of:

  • Azure Kubernetes Service (AKS)—at the center of the architecture is AKS.
  • Kubernetes cluster—a cluster running your workloads, deployed on AKS. With AKS you only manage agent nodes; AKS assumes responsibility for the Kubernetes control plane.
  • Virtual network—AKS creates a virtual network in which agent nodes can be deployed. In advanced scenarios, you can create a virtual network first, to give you more control over configuration of subnets, local connections, IP addresses, etc.
  • Ingress—the ingress provides an HTTP/HTTPS path to access cluster services. Behind it, you will typically deploy an API Gateway to manage authentication and authorization.
  • Azure Load Balancer—created when the NGINX ingress controller is implemented. Used to route incoming traffic to the ingress.
  • External data storage—microservices are usually stateless and save data to external data stores, such as relational databases like Azure SQL Database or NoSQL stores like Cosmos DB.
  • Azure Active Directory (AD)—AKS has its own Azure AD identity, used to generate and control Azure resources for Kubernetes deployments. In addition to these mechanisms, Microsoft recommends using Azure AD to establish user authentication in client applications that use the Kubernetes cluster.
  • Azure Container Registry (ACR)—used to store your organization’s Docker images and use them to deploy containers to the cluster. ACR can also leverage authentication by Azure AD. Another option is to store Docker images in a third party registry, like DockerHub.
  • Azure Pipelines—part of the Azure DevOps service, and can help you automate the build/test/deployment cycle. Alternatively, you can use a third-party CI/CD solution like Jenkins.
  • Helm—the Kubernetes package manager. You can use it to combine Kubernetes objects into a package for easier distribution and versioning.
  • Azure Monitor—collects and stores logs from Azure services that interact with your Kubernetes cluster, including AKS controllers, nodes, and containers. You can use this data to monitor applications, configure alerts and dashboards, and analyze the root causes of errors.

Related content: Improving Kubernetes Performance on Azure with Azure NetApp Files

Kubernetes on Azure: Tools and Services

Azure Kubernetes Service

The Azure Kubernetes Service (AKS) facilitates the deployment of managed Kubernetes clusters in Azure. AKS offloads critical tasks from developers and administrators, such as health monitoring and maintenance.

When running on AKS, you only need to manage agent nodes, and pay only for agent nodes. There is no charge for Kubernetes master nodes—these are configured and deployed automatically. You can configure other features, including Azure AD integration, advanced networking, and monitoring.

You can use the Azure CLI, or the Azure Portal, to create AKS clusters. Another option is to use infrastructure as code (IaC) solutions like Azure Resource Manager templates or TerraForm.

Related Content: How-To Configure Persistent Volumes for Containers in AKS

Azure Container Instances

Containers are becoming the preferred means of packaging, deploying and managing cloud applications. Azure Container Instances provide a convenient way to manage containers in Azure, without managing virtual machines. Container instances start in seconds, because they have much less overhead than Azure VMs.

You can import images of Linux or Windows containers from DockerHub, your personal Azure Container Registry, or any other Docker registry. Azure Container Instances has a cache of popular images of base operating systems, helping you deploy custom images faster.

Related Content:

Azure Service Fabric

Service Fabric offers a distributed platform that lets you package and deploy microservices applications composed of containers. Service Fabric addresses many of the major challenges of cloud native development.

Azure Service Fabric focuses on building stateful services. You can take advantage of the service framework programming model, or run containerized services with stateful requirements, using the language or code of your choice. You can also create Service Fabric clusters on local Linux machines, Windows Server, or other public cloud platforms.

Service Fabric is used to power many core Microsoft services, including Microsoft Power BI, Azure SQL Database, Cosmos DB, Dynamics 365, and Skype.

Azure Container Registry

Azure Container Registry (ACR) is a privately hosted Docker registry service, built on the open source Docker Registry 2.0. Create and manage Azure container registries to store and manage your organization’s private Docker images.

You can also use ACR Tasks to build containers on demand from images, automate your builds according to events like commits to your source code repository, or updates to base images.  

Azure Dev Spaces

The Azure Dev Spaces service provides a fast, iterative Kubernetes development environment for teams using AKS. Azure Dev Spaces allows you to troubleshoot and test all application components in AKS, without needing to set up development machines or setting up dependencies.

With Azure Dev Spaces you can automatically generate Docker and Kubernetes artifacts for a project, making it easy to add new and existing Kubernetes applications to a development effort.

Kubernetes in Azure with Cloud Volumes ONTAP

NetApp Cloud Volumes ONTAP, the leading enterprise-grade storage management solution, delivers secure, proven storage management services on AWS, Azure and Google Cloud. Cloud Volumes ONTAP capacity can scale into the petabytes, and it supports various use cases such as file services, databases, DevOps or any other enterprise workload, with a strong set of features including high availability, data protection, storage efficiencies, Kubernetes integration, and more.

In particular, Cloud Volumes ONTAP supports Kubernetes Persistent Volume provisioning and management requirements of containerized workloads.

Learn more about how Cloud Volumes ONTAP helps to address the challenges of containerized applications in these Kubernetes Workloads with Cloud Volumes ONTAP Case Studies.

New call-to-action

Kubernetes in Azure with Azure NetApp Files

Azure NetApp Files is a Microsoft Azure file storage service built on NetApp technology, giving you the file capabilities in Azure even your core business applications require.

Get enterprise-grade data management and storage to Azure so you can manage your workloads and applications with ease, and move all of your file-based applications to the cloud.

Azure NetApp Files solves availability and performance challenges for enterprises that want to move mission-critical applications to the cloud, including workloads like HPC, SAP, Linux, Oracle and SQL Server workloads, Windows Virtual Desktop, and more.

In particular, Azure NetApp Files allows you to migrate more applications to Azure–even your business-critical workloads–with extreme file throughput with sub-millisecond response times.

Learn More About Kubernetes in Azure

Read more in our series of guides about Kubernetes in Azure.

Azure Kubernetes Cluster: Deploy Your First Cluster on Azure

Kubernetes clusters contain resources, including one pode or more. These pods serve specific functions or share certain data—they have unique roles. To deploy Kubernetes clusters in the Azure cloud you can use Azure Kubernetes Service (AKS). Learn how to do this in this article, which guides you through the steps and practices of deploying and securing Azure Kubernetes clusters.

Read more: Azure Kubernetes Cluster: Deploy Your First Cluster on Azure

Out-of-This-World Kubernetes Performance on Azure with Azure NetApp Files

Kubernetes can be overly complex when deploying enterprise-grade operations in production. To provide a high level of performance, ,Microsoft partnered with NetApp to introduce a new service: Azure NetApp Files (ANF). This article explains how to easily achieve ultra-low latency and high performance.

Read more: Out-of-This-World Kubernetes Performance on Azure with Azure NetApp Files

Address Persistent Storage Woes in Azure Kubernetes Service

Azure Kubernetes Service (AKS) enables you to deploy, configure, and manage Kubernetes on the Azure platform. You get a wide range of functionalities that simplify migrations of on-premise workloads to Azure, as well as control for easy management. To ensure stability for data access, you can use Azure NetApp Files (ANF) as a storage layer. Learn how to achieve persistence with this first-party service, which is powered by NetApp and managed by Microsoft.

Read more: Address Persistent Storage Woes in Azure Kubernetes Service

Azure Container Instance: The Basics and a Quick Tutorial

Azure Container Instances (ACI) is a service that allows you to run containers directly on the Microsoft Azure public cloud, without requiring the use of virtual machines (VMs). Learn about Azure Container Instance (ACI) features, how it compares to container orchestrators, and learn to create your first container instances.

Read more: Azure Container Instance: The Basics and a Quick Tutorial

Azure Container Instances vs Azure Kubernetes Service (AKS): How to Choose

Azure Container Instances (ACI) offers an easy way to run containers in the Azure cloud, eliminating the need to manage virtual machines (VMs). Azure Kubernetes Service (AKS) lets you deploy managed Kubernetes clusters in Azure. Learn about the differences between ACI and AKS in terms of pricing, scalability, security, and more.

Read more: Azure Container Instances vs Azure Kubernetes Service (AKS): How to Choose

GKE vs AKS: Compared on Availability, Security, Tooling, and More

Google Kubernetes Engine (GKE) and Azure Kubernetes Service (AKS) are both managed Kubernetes services offered by leading cloud providers. Understand the differences between and how to choose the right solution for your organization.

Read more: GKE vs AKS: Compared on Availability, Security, Tooling, and More

Azure Containers: Top 4 Options for Running Containers on Azure

Microsoft Azure offers several services designed specially to help you run containerized applications. Learn about the top Azure container services, including Azure Kubernetes Service (AKS) and Azure Container Instances (ACS).

Read more: Azure Containers: Top 4 Options for Running Containers on Azure


See Our Additional Guides on Key IaaS Topics

Together with our content partners, we have authored in-depth guides on several other topics that can also be useful as you explore the world of IaaS.

Cloud Migration

Learn about cloud migration and what major challenges to expect when implementing a cloud migration strategy in your organization. 

See top articles in our cloud migration strategy guide:

AWS Migration

Learn about Amazon’s basic framework for migration, and how to plan for common challenges that affect almost every migration project.

See top articles in our AWS migration guide:

AWS High Availability

Discover how highly available systems are reliable and resilient and see how AWS can help you achieve high availability for cloud workloads, across 3 dimensions.

See top articles in our AWS high availability guide:

AWS EBS

Learn what is AWS EBS and how to perform common EBS operations. Including five highly useful EBS features that can help you optimize performance and billing. 

See top articles in our guide to AWS EBS:

AWS Cost

Learn how Amazon Web Services (AWS) prices its cloud services and what you can do to optimize your costs in the Amazon cloud.

See top articles in our AWS cost optimization guide:

AWS EFS

Learn about AWS EFS, your backup options, how to optimize performance, see a brief comparison of EFS vs EBS vs S3, and discover how Cloud Volumes ONTAP can help.

See top articles in our guide to AWS EFS:

Azure Migration

Learn about aspects of considerations when implementing Azure migration: migration models, state assessment, storage configuration, security, and maintenance. 

See top articles in our Azure migration guide:

Azure Cost Management

Learn about tools and practices that can help you manage and optimize costs on the Microsoft Azure cloud.

See top articles in our Azure cost management:

Azure High Availability

High availability is one of the major benefits of cloud services. The guarantee that your data will remain accessible is critical to supporting high priority workloads and applications and is the reason many move to the cloud in the first place.

This guide explains what high availability is and how to optimize Azure high availability.

See top articles in our Azure high availability guide:

SAP on Azure

Learn about all SAP solutions offered as a service on Azure, including HANA, S/4HANA, NetWeaver and Hybris, migration considerations and best practices.

See top articles in our guide to SAP on Azure:

Linux on Azure

Learn how to use Linux on Azure, including guides for cloud-based enterprise Linux deployments and performance tips.

See top articles in our guide to Linux on Azure:

HPC on Azure

Discover services and techniques for cloud-based HPC, including unique Azure HPC features and use cases. 

See top articles in our guide to HPC on Azure:

VDI on Azure

Learn what options are available for VDI on Azure. Understand how the architecture works and discover best practices for VDI deployments.

See top articles in our guide to VDI on Azure:

Google Cloud Migration

Learn how to migrate your workloads and data to Google Cloud, including in-depth comparisons between GCP and other cloud providers, tools, strategies, costs, and more.

See top articles in our guide on Google Cloud migration:

VMware Cloud

Learn how VMware partners with public cloud providers to help users run virtualized workloads in a cloud environment.

See top articles in our guide on VMware Cloud:

AWS FSx

Learn about Amazon FSx, a fully managed service that lets you run managed Windows Server and Lustre file systems to support high performance and high throughput data scenarios.

Google Cloud Pricing

Learn how Google Cloud prices its cloud services and what you can do to optimize and reduce your costs in Google Cloud.

Kubernetes on AWS

Learn how to run Kubernetes clusters and containerized applications in AWS, using the Elastic Kubernetes Service (EKS), Amazon Fargate, and related services.

Cloud Data Services