Microsoft Docs

Azure Kubernetes Service (AKS) Concepts

Published: 2023-10-27 | Last Updated: 2023-11-15 | Author: Microsoft Azure Team

Azure Kubernetes Service (AKS) simplifies deploying, managing, and automating Kubernetes applications. It offloads the operational burden of a managed Kubernetes cluster to Azure, allowing you to focus on your applications. This document explains the core concepts and architectural components of AKS.

What is Kubernetes?

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up your application into logical units for easy management and discovery.

AKS Architecture

An AKS cluster consists of two main components:

AKS Cluster Architecture Diagram Diagram illustrating AKS control plane and worker nodes.

Core Kubernetes Objects

When you deploy applications to Kubernetes, you interact with various objects that define the desired state of your applications. Key objects include:

Pods

The smallest deployable units in Kubernetes. A Pod represents a single instance of a running process in your cluster and can contain one or more containers. Containers within the same Pod share resources like network namespace and storage volumes.


apiVersion: v1
kind: Pod
metadata:
  name: my-nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80
        

Deployments

A Deployment provides declarative updates for Pods and ReplicaSets. You describe the desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state at a controlled rate. Deployments manage the lifecycle of your Pods.


apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      app: azure-vote-back
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      containers:
      - name: azure-vote-back
        image: mcr.microsoft.com/azuredocs/azure-vote-back:v1
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: "100m"
            memory: "128Mi"
          limits:
            cpu: "100m"
            memory: "128Mi"
        

Services

Kubernetes Services define a logical set of Pods and a policy by which to access them. They provide a stable IP address and DNS name to access a group of Pods, even as Pods are created or destroyed.

Namespaces

Namespaces provide a mechanism for isolating groups of resources within a single cluster. They are useful for organizing resources across multiple teams or projects.

AKS Networking

AKS supports different networking models to integrate with your Azure Virtual Networks.

Key AKS Features

Note: Understanding these core concepts is crucial for effectively deploying and managing your containerized applications on AKS.
Important: Always refer to the latest official Microsoft documentation for the most up-to-date information and best practices.

Next Steps

Explore the following resources to deepen your understanding: