Azure Kubernetes Service (AKS) Community Repository

repository·master·Indexed 24 days ago

https://github.com/azure/aks

A community engagement platform for tracking features and issues related to Azure Kubernetes Service (AKS). The repository includes technical guides for configuring secure accelerator access with NVIDIA GPUs and DRA in AKS 1.34, managing cgroup v1/v2 compatibility for legacy software and Java applications, deploying the self-managed AKS Cost Export tool for cost analysis, and mitigating Envoy CVEs in OSM and Istio addons.

Tokens
139.9K
Snippets
262
Records
532
Agent score
80%

What's inside azure-aks

  1. Understand AKS Control Plane Enhancements

    master

    AKS provides several built-in enhancements designed to improve the scalability, performance, and stability of large clusters. These features are applied automatically and do not require manual configuration. Key enhancements include:

    • Streaming encoder for LIST responses: Reduces memory consumption during large LIST requests by processing items individually rather than serializing the entire response into a single memory block. Available in AKS versions 1.31.9+ and 1.32.6+.
    • Higher control plane resource limits: Allows the control plane to receive up to 4x higher CPU and memory limits during autoscaling, which is particularly useful for AI inference and training workloads.
    • AKS managed API server guard: A safeguard that throttles non-system API server requests when the API server remains unstable or experiences OOM incidents despite scaling.
    • etcd defragmentation optimizations: Reduces etcd defragmentation time by up to 50%, minimizing response time spikes and transient client timeouts.

    Note that cluster scalability still depends on the 'Kubernetes scale envelope,' which includes the number and size of cluster objects (pods, nodes, CRDs, Secrets, etc.) and client interaction patterns.

  2. Use Azure Container Storage v2.0.0 for stateful workloads on AKS

    master

    Azure Container Storage v2.0.0 provides high-performance, platform-managed container-native storage for AKS. It is designed for I/O-intensive applications like databases and AI workloads.

    Key features include:

    • Local NVMe Integration: Uses ephemeral NVMe attached to AKS nodes to provide high IOPS, high throughput, and low latency.
    • Simplified Management: Uses standard Kubernetes StorageClasses and PersistentVolumeClaims (PVCs) instead of custom StoragePool objects.
    • Reduced Footprint: Runs as a single lightweight operator and CSI driver in the kube-system namespace.
    • Observability: Exposes metrics for scraping by Azure Monitor or existing Prometheus instances (no bundled Prometheus included).
    • Cost: The service is free to use; you only pay for the underlying storage backend. There are no per-GB monthly fees for storage pools larger than 5 TiB.
  3. What is KubeFleet and how does it work?

    master

    KubeFleet is an open-source, multi-cluster Kubernetes resource management solution designed to orchestrate and distribute Kubernetes resources (such as configs like roles/quotas/policies and applications like deployments/services) across a fleet of clusters.

    Architecture: Hub-and-Spoke Model

    KubeFleet operates using a hub-and-spoke model:

    • Hub Cluster: Acts as the central control plane for the entire fleet. It hosts the orchestration and coordination logic.
    • Member Clusters: Part of the fleet that receive resources from the hub.

    Connectivity and Security

    A key architectural feature is its support for one-way connections. KubeFleet does not require connections from the hub cluster to member clusters; instead, it only requires connections from member clusters to the hub. This allows member clusters to remain private and stay behind network isolation/private egress.

  4. What is NVIDIA Dynamo and how does it work on AKS?

    master

    NVIDIA Dynamo is an open-source distributed inference serving framework designed to optimize large-scale LLM workloads. When deployed on Azure Kubernetes Service (AKS) using ND GB200-v6 VMs, it provides a holistic solution for high-performance inference by disaggregating the prefill and decode phases.

    Core Components of NVIDIA Dynamo

    • Disaggregated Execution: Separates the compute-bound prefill phase from the memory-bound decode phase across different GPUs. This allows for independent scaling and the use of specialized hardware configurations for each phase (e.g., high-compute GPUs for prefill and high-memory GPUs for decode).
    • SLA-based Planner: Proactively manages GPU scaling. It uses pre-deployment profiling to recommend configurations that meet latency targets like Time to First Token (TTFT) and Inter-Token Latency (ITL). At runtime, it uses time-series models to forecast traffic and dynamically adjust worker counts.
    • LLM-aware Router: Manages the Key-Value (KV) cache across GPU clusters. It hashes requests and tracks cache locations to route incoming requests to GPUs that maximize cache reuse, reducing redundant computation.
    • KV Block Manager (KVBM): Reduces GPU memory overhead by offloading infrequently accessed KV blocks to CPU RAM, SSDs, or object storage, enabling petabyte-scale cache storage.

    Supported Engine Backends

    Dynamo supports multiple engine backends, including:

    • vLLM
    • TensorRT-LLM
    • SGLang
  5. What is the Kubernetes AI Conformance Program?

    master
    The Kubernetes AI Conformance Program is a CNCF initiative that defines a standard set of capabilities, APIs, and configurations required for a Kubernetes cluster to reliably and efficiently run AI and ML workloads. It aims to prevent vendor lock-in and fragmentation by ensuring that AI infrastructure (like GPU management, specialized scheduling, and inference routing) follows open, community-defined standards. Azure Kubernetes Service (AKS) is a certified platform for this program.
  6. What is mirrord and how does it work?

    master

    mirrord is an open-source "remocal" development tool that connects a local process to a remote Kubernetes cluster (such as AKS). Instead of using a VPN, mirrord hooks system calls in your local process to proxy environment variables, files, and network traffic to and from the cluster.

    Key benefits include:

    • Non-intrusive mirroring: In mirror mode, traffic is copied to your local process, but the cluster's original pod still handles the request and the response from your local process is discarded. This allows you to observe traffic without affecting the cluster.
    • Intrusive stealing: In steal mode, mirrord intercepts traffic intended for a cluster pod and routes it to your local process. The response from your local process is then sent back to the cluster, allowing you to test code changes in real-time as if they were deployed.
    • Low overhead: It requires no root privileges on your machine and features fast startup speeds.
    • Highly configurable: You can granularly specify which files, environment variables, and network traffic are shared between the local and remote environments.
  7. What is Azure Container Storage and how does it work?

    master

    Azure Container Storage is a platform-managed, container-native storage service designed for stateful workloads on Kubernetes. It introduces a storage pool abstraction layer between persistent volumes (PVs) and various backing storage options.

    This abstraction allows you to:

    • Leverage different storage types (Azure Disks, Ephemeral Disks, or Azure Elastic SAN) based on workload needs.
    • Rapidly scale up to a large number of PVs by packing multiple volumes onto single attached disks, bypassing node attach limits.
    • Reduce TCO through dynamic sharing of IOPS and MB/s across PVs.
    • Enhance resiliency via zonal alignment and replication (specifically for Ephemeral Disks).
  8. What is AKS Long Term Support (LTS)?

    master

    AKS Long Term Support (LTS) is a support plan designed for enterprise stability. It provides 24 months of support for Kubernetes versions starting from their GA date in AKS, extending beyond the standard 12-14 month community support lifecycle.

    Key characteristics include:

    • Extended Timeline: 24 months of full support (security patches, critical bug fixes) compared to the standard ~12-14 months.
    • Premium Tier Requirement: LTS is available exclusively as part of the Premium tier.
    • Comprehensive Coverage: Includes core Kubernetes components (API server, etcd, kubelet, etc.), AKS-managed add-ons (networking, monitoring, security), and Node/OS components (Linux and Windows).
    • Reduced Upgrades: Allows enterprises to plan major Kubernetes upgrades every 24 months instead of every 12-14 months, reducing upgrade frequency by 50%.
  9. Compare VM series for network performance

    master

    When selecting AKS nodes for network-intensive applications, hardware choice is the most critical factor.

    Key Findings:

    • Azure Dsv6-series provides up to 35% higher throughput and 3x-6x lower RTT compared to Dsv3-series when bandwidth usage is limited.
    • Dsv6-series maintains a 0% TCP retransmission rate, whereas Dsv3-series shows higher retransmission rates under load.
    • The performance leap in Dsv6 is primarily due to support for Jumbo Frames and MTU 9000 via the Microsoft Azure Network Adaptor (MANA).
  10. Understand the Flyte backend components

    master

    A Flyte cluster consists of several backend components running as individual pods:

    ComponentDescription
    Data catalogService for data indexing and querying artifacts based on metadata/tags (used when Task caching is enabled).
    Flyte pod webhookDeployment used to inject secrets into Task pods.
    Flyte adminThe main Flyte API that processes client requests.
    Flyte consoleThe web user interface for the Flyte platform.
    Flyte propellerThe core engine that executes workflows within the Flyte data plane.
    Flyte schedulerA cloud-agnostic native scheduler for fixed-rate and cron-based schedules.
    Sync resourcesAn agent that enables request/response services (e.g., APIs) to return outputs.
  11. Choose the right backing storage for your workload

    master

    Azure Container Storage supports several backing storage options depending on your performance and resiliency requirements:

    Azure Disks (GA)

    Best for tier 1 and general-purpose databases (e.g., MySQL, MongoDB, PostgreSQL) and workloads requiring rapid scaling of thousands of PVs (e.g., JupyterHub, ElasticSearch). Supports storage-level replication using Premium SSD ZRS or Standard SSD ZRS.

    Ephemeral Disks (GA)

    Best for latency-sensitive and IOPS-intensive workloads (e.g., Cassandra). Requires storage-optimized VM SKUs like L-series, Ev3-series, or Esv3-series which provide local NVMe or temporary storage. Supports synchronous replication across NVMe disks in a storage pool.

    Azure Elastic SAN (Preview)

    Best for on-demand, fully managed block storage where you want to avoid granular control and focus on rapid provisioning. Ideal for general-purpose databases, streaming/messaging services (e.g., Kafka), and CI/CD environments. Uses the iSCSI protocol for fast attach/detach.

  12. Considerations for OS upgrade strategies

    master

    Choose your OS upgrade strategy based on these organizational priorities:

    • Support: Using Default Skus ensures you stay on a supported OS version automatically.
    • Security: Using Default Skus ensures you receive security updates without manual intervention.
    • Stability: Using Version Enums allows you to validate updates against your workloads before committing to an upgrade.
    • LTS (Long Term Support): Using Version Enums allows you to upgrade to a supported OS version while remaining on the same Kubernetes version during an extended support period.