
Meet the instructor and outline the curriculum of advanced AKS features, including cluster setup, infrastructure as code with Terraform and Azure Bicep, and Azure Kubernetes Fleet Manager.
Clarify the recommended background to maximize benefits from this AKS course. Build familiarity with Linux basics, networking concepts, Kubernetes concepts, kubectl, and Azure services.
Explore how Kubernetes manages containerized workloads with images. See how Azure Kubernetes Service simplifies deploying and scaling clusters by handling the control plane while you run worker nodes.
Create an AKS cluster via the Azure portal, configure a resource group and dev and test preset, then connect, fetch credentials, and run kubectl commands to manage workloads.
Explore node pools in AKS and how they group identical VMs to run pods. Learn system, user, and gateway pools and how to scale at the node pool level.
Speed up kubectl workflows by creating aliases like k for kubectl, enabling bash completion and command autocompletion for pods and namespaces, and using run selected text for quick execution.
Learn how to connect to pods in Kubernetes or AKS with kubectl exec, including when shells exist or are missing, and common flags like -it and -C for interactive access.
Explore connecting to AKS nodes via kubectl debug and kubectl node shell, using helper pods to access node environments, namespaces, and logs for troubleshooting.
Explore AKS preview features move through development, private and public preview to general availability, and deprecated when applicable, and learn to enable, register, and use them via the Azure CLI.
Learn when to use infrastructure as code tools to create AKS clusters, compare manual setup with IaC, and explore Terraform and Azure Bicep for consistent, version-controlled deployments.
Configure the azure provider with a service principal, create an AKS cluster in main.tf with Azure CNI, then run terraform init, plan, and apply to provision resources.
Learn how to synchronize Terraform with real-world changes to an AKS cluster by handling drift, updating the terraform.tfstate, and refreshing state after scaling a node pool in the Azure portal.
Execute Terraform destroy to remove the AKS cluster and resource group with configuration-driven deletion and confirmation prompts, updating the state file. Then delete the service principle to complete the cleanup.
Create an AKS cluster with Azure Bicep by authoring declarative, modular templates that compile to ARM, using incremental deployment, Azure CNI, and configurable outputs to streamline Azure deployments.
Delete an AKS cluster using Azure Bicep by understanding deployment modes, especially complete versus incremental, and using the what-if operation to preview changes before deletion.
Explore Azure Kubernetes Fleet Manager to manage multiple AKS clusters at scale, including hub cluster concepts, public and private access, update orchestration, Kubernetes resource propagation, and multi-cluster load balancing.
Learn to create an Azure Kubernetes Fleet Manager resource, add AKS member clusters across two resource groups, and configure hub cluster options with prod and test update groups.
Explore the Azure Kubernetes Fleet Manager resource, including hub and member clusters, multi-cluster update, activity logs, RBAC, tags, and diagnostic settings.
Learn to orchestrate multi-cluster Kubernetes upgrades across test and production AKS fleets, deploying nginx, configuring stages, and choosing latest vs consistent node images for seamless upgrades.
Orchestrate a staged upgrade of four AKS clusters with Azure Kubernetes Fleet Manager, validating the test stage before production and confirming nodes reach 1.29.2.
Clean the fleet environment by deleting the test and prod resource groups, and understand how hub cluster and infrastructure resource groups are tied to the Azure Kubernetes Fleet Manager lifecycle.
Explore node auto provisioning in AKS, aka Karpenter, and how it overcomes cluster autoscaler limits by provisioning new nodes with appropriate VM sizes to fit varying pod CPU requests.
Explore node autoprovisioning (nap) in AKS, powered by Karpenter, which right-sizes VMs and automates VM selection to optimize resources and costs while precise scheduling workloads.
Explore how node auto provisioning in aks uses crds—node pool, node class, and node claim—to define constraints, requirements, and policies for provisioning and consolidating nodes.
Understand upgrades with node autoprovisioning in AKS using Karpenter, including Kubernetes version upgrades, node image version upgrades, and locking a node pool to a specific image via the node class.
Create AKS cluster with node auto provisioning using Azure CNI powered by cilium and two nodes. Install the node-viewer to visualize node usage and explore system search pools.
Learn how AKS uses Karpenter node auto provisioning to add new nodes when memory requests trigger pods to pending, demonstrating node claims, scaling, and consolidation with Azure VMs.
Learn to use NLP related Kubernetes resources in AKS with karpenter, creating a custom node class and a weighted node pool, then deploy a 5 vCPUs workload and clean up.
Discover how AKS backup uses Azure Backup and Velero to protect Kubernetes objects, namespaces, secrets, and persistent volumes. Configure backup vaults, policies, and on-demand restores across clusters.
Create the Azure storage account and blob container, deploy an AKS cluster, and configure namespaces, deployments, config maps, secrets, and PV/PVC with Azure Disk for backup readiness.
Deploy and explore the AKS backup extension to enable safe backups and disaster recovery using Valero, with new data protection pods, a managed identity, and storage integration.
Configure AKS backups in the Azure portal by creating a backup vault and policy, adding data sources, granting permissions, and validating the setup for durable cross-subscription restoration.
Trigger an on-demand backup for the AKS cluster via the backup blade. Monitor progress, then confirm completion in the blob container with gzip files and a Valero configuration.
Perform a restore in an AKS target cluster by enabling the backup extension and selecting a restore point. Grant permissions, map namespaces, and validate the restore before confirming application availability.
Delete AKS backup resources in the correct order: remove backup instances, delete backup policies, then delete the backup vault, and finally delete the resource group for migration and disaster recovery.
Explore the bring your own CNI option in AKS, compare network plugins, and learn how to create an AKS cluster with your own CNI and verify plugin installation.
Deploy an AKS cluster with network plugin none, then install the Andrea CNI in encap mode to bring your own networking to AKS, using helm.
Explore Azure managed Prometheus and Grafana for AKS, from metrics collection with AMA pods and data collection rules to visualization in Grafana dashboards and alerting, via Azure Monitor workspace.
Configure an AKS cluster and enable Azure managed Prometheus and Grafana, including optional custom Azure Monitor workspace and Grafana instance, to view Prometheus insights and Grafana dashboards.
Explore Azure managed Prometheus, Azure Monitor workspace, data collection rules, and Grafana integration to query, ingest logs, and visualize Prometheus metrics with recording rules.
Explore the Azure managed Grafana solution across access points. Connect via endpoints, manage dashboards, PromQL queries, alerts, and admin roles to monitor your AKS cluster.
Learn to create a Prometheus alert in Azure Monitor, linking an action group to email notifications and configuring a rule group to trigger on pod crash loop back off.
Access the Prometheus interface in the Azure Managed Solution to verify discovered targets and config scrapes via port 1990, and learn when to enable debug mode for troubleshooting.
Explore how CoreDNS in AKS uses a plugin-based architecture to manage intra-cluster DNS and external lookups via the forward plugin, with customization through the CoreDNS custom config map.
Enable CoreDNS query logging in AKS using the log plugin to monitor and troubleshoot DNS traffic, discover suffixes like cluster.local, and understand Kubernetes service discovery and DNS resolution behavior.
Configure sub domains to forward dns queries to an upstream server via a config map, and validate with nslookup and dns logs. Demonstrate example.com forwarding to 234.6.4.3 to show timeout.
Implement core dns host plugin in AKS to map httpd to nginx IP via a hosts config map, enabling local testing with nslookup and curl, and explain fallback behavior.
Enable Azure managed Prometheus and Grafana on the AKS cluster, configure CoreDNS to scrape metrics to Prometheus, and visualize them in Grafana with the CoreDNS dashboard.
Scale CoreDNS pods manually in AKS to mitigate memory issues from DNS traffic spikes, by adjusting the replicas based on CPU cores and cluster nodes, using the autoscaler config map.
Unlock how service mesh solves microservices challenges in Kubernetes by offloading traffic management, security, and observability to sidecar proxies, with Istio as a key example.
Explore Istio, a CNCF graduated service mesh that connects, manages, and secures microservices with traffic management, mutual tls, observability, retries, and canary or blue-green deployments via envoy sidecar proxies.
Evaluate security priorities and observability needs to decide if a service mesh like Istio, with mTLS and authorization policies, plus integration with Prometheus, Grafana, and Jaeger, fits your environment.
Explore the Istio service mesh add-on in AKS, a Microsoft managed integration that handles control plane management and upgrades with compatibility testing. It integrates with Azure Monitor, Prometheus, Grafana.
Enable the Istio service mesh add-on in AKS, explore native sidecar mode, ingress gateways, and observability with Prometheus and Grafana, and use destination rules and virtual services.
Deploy an nginx app in the AKS test Istio namespace with two replicas, explore native sidecar mode with Istio proxy, and use Istio CTL analyze to identify port naming issues.
Use peer authentication to enforce mtls in an Istio-enabled AKS cluster, using the pure authentication resource to enforce modes such as permissive, strict, default mode, and disable.
Enable and use the Istio gateway in AKS to implement traffic splitting between two backend versions using a virtual service and gateway, with 90/10 and 1/99 distributions.
Clean up the Istio environment in an AKS cluster by either disabling Istio with the provided button or deleting the entire resource group.
Welcome to "Advanced Azure Kubernetes Service (AKS) Features Made Easy," a comprehensive course designed to elevate your understanding and expertise in Azure Kubernetes Service. We'll cover a wide range of topics, from managing multiple clusters with Azure Kubernetes Fleet Manager to leveraging Node Autoprovisioning (NAP) with Karpenter, and much more.
Throughout this course, you'll gain insights into:
Azure Kubernetes Service (AKS) Basics: Start with the fundamentals of AKS, including creating and connecting to an AKS cluster, understanding node pools, and exploring preview features.
Infrastructure as Code (IaC) Tools: Delve into the importance of IaC tools like Terraform and Azure Bicep for creating and deleting AKS clusters efficiently.
Azure Kubernetes Fleet Manager: Discover how to manage multiple AKS clusters seamlessly, ensuring consistency and ease of updates across environments.
Node Autoprovisioning (NAP) with Karpenter: Dive into the world of dynamic scaling and efficient resource utilization with AKS's NAP feature.
Backup and Restore: Master the art of protecting your AKS workloads with Azure Backup, including setting up backups and performing restores.
Customization and Monitoring: Explore advanced customization options like CoreDNS and delve into monitoring your AKS clusters effectively with Azure Managed Prometheus and Grafana.
Service Mesh (Istio add-on) in AKS: Understand the role of service mesh in microservices architecture and how to implement Istio in AKS for traffic management and security.
GitHub Actions in AKS: Learn how to automate deployments and CI/CD processes within AKS using GitHub Actions.
Automated Deployments and GitOps: Get familiar with automated deployment strategies and GitOps principles, focusing on tools like Flux for continuous delivery.
Enhanced Security and Isolation: Explore advanced security features such as Pod Sandboxing and Kata Containers to enhance container isolation in AKS.
Performance Optimization: Learn about reducing latency with Proximity Placement Groups and understanding long-term support (LTS) in AKS for more stability.
This course is structured to provide you with practical, hands-on experience through real-world scenarios and projects. By the end of this course, you will be equipped with the skills to leverage advanced AKS features to enhance your cloud-native applications' performance, security, and scalability. Join me on this journey to unlock the full potential of Azure Kubernetes Service.