<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aks on PAUL'S BLOG</title><link>https://paulyu.dev/tags/aks/</link><description>Recent content in Aks on PAUL'S BLOG</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 10 Mar 2025 13:00:00 +0000</lastBuildDate><atom:link href="https://paulyu.dev/tags/aks/index.xml" rel="self" type="application/rss+xml"/><item><title>Deploying AKS Automatic clusters with Pulumi: A step-by-step guide</title><link>https://paulyu.dev/article/deploying-aks-automatic-with-pulumi/</link><pubDate>Mon, 10 Mar 2025 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/deploying-aks-automatic-with-pulumi/</guid><description>&lt;p&gt;Yo! Let&amp;rsquo;s build an AKS Automatic cluster with Pulumi 🚀&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t already know, &lt;a href="https://www.pulumi.com/"&gt;Pulumi&lt;/a&gt; is a modern Infrastructure as Code (IaC) tool that allows you to use your favorite programming language to deploy and manage cloud resources. I like it because I can use &lt;a href="https://go.dev/"&gt;Go&lt;/a&gt; and the &lt;a href="https://www.pulumi.com/docs/iac/languages-sdks/go/"&gt;Pulumi Go SDK&lt;/a&gt; to write my infrastructure code. There are other languages supported like Python, TypeScript, .NET, and more so be sure to check out their &lt;a href="https://www.pulumi.com/docs/iac/languages-sdks/#pulumi-languages-sdks"&gt;docs&lt;/a&gt; for more information.&lt;/p&gt;</description></item><item><title>Bootstrap your GitOps-enabled AKS cluster with Terraform: A code sample using the Flux v2 K8s Extension</title><link>https://paulyu.dev/article/bootstrap-gitops-with-aks-extension-using-terraform/</link><pubDate>Thu, 28 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/bootstrap-gitops-with-aks-extension-using-terraform/</guid><description>&lt;p&gt;In my previous posts, we learned how to &lt;a href="https://aka.ms/cloudnative/GitGoingWithGitOps"&gt;get started with GitOps on AKS&lt;/a&gt; using the K8s extension for AKS.&lt;/p&gt;
&lt;p&gt;Then, we took a look at the Flux CLI and explored how it can be used to bootstrap your cluster and generate FluxCD manifests so that we can use GitOps to implement GitOps 🤯, and implemented Flux&amp;rsquo;s &lt;a href="https://aka.ms/cloudnative/ImageAutomationWithFluxCD"&gt;image update automation&lt;/a&gt; capability.&lt;/p&gt;
&lt;p&gt;From there, we built on the concept of image update automation, and showed you how you can use Flagger to &lt;a href="https://aka.ms/cloudNative/ProgressiveDeliveryWithFlagger"&gt;automate canary deployments&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Progressive Delivery on AKS: A Step-by-Step Guide using Flagger with Istio and FluxCD</title><link>https://paulyu.dev/article/more-gitops-with-fluxcd-and-flagger-on-aks/</link><pubDate>Tue, 26 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/more-gitops-with-fluxcd-and-flagger-on-aks/</guid><description>&lt;p&gt;In my previous &lt;a href="https://aka.ms/cloudnative/ImageAutomationWithFluxCD"&gt;post&lt;/a&gt;, we setup an Azure Kubernetes Service (AKS) cluster to automatically update images based on new image tags in a container registry. As soon as a new image was pushed to the registry the image was immediately updated.&lt;/p&gt;
&lt;p&gt;But what if you don&amp;rsquo;t want an agent automatically pushing out new images without some sort of testing? 🤔&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll build upon Flux&amp;rsquo;s image update automation capability and add &lt;a href="https://flagger.app/"&gt;Flagger&lt;/a&gt; to implement a &lt;a href="https://docs.flagger.app/usage/deployment-strategies#canary-release"&gt;canary release strategy&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Automating Image Updates with FluxCD on AKS</title><link>https://paulyu.dev/article/automating-image-updates-with-fluxcd-on-aks/</link><pubDate>Fri, 22 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/automating-image-updates-with-fluxcd-on-aks/</guid><description>&lt;p&gt;In my previous &lt;a href="https://aka.ms/cloudnative/GitGoingWithGitOps"&gt;post&lt;/a&gt;, we walked through the setup of FluxCD on AKS via AKS extensions. In this article, we&amp;rsquo;ll go a bit deeper and take a look at how you can use FluxCD to automate image updates in your AKS cluster.&lt;/p&gt;
&lt;p&gt;The goal here is to streamline the process of updating your application deployments in your cluster.&lt;/p&gt;
&lt;p&gt;Here is our intended workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Modify application code, then commit and push the change to the repo.&lt;/li&gt;
&lt;li&gt;Create a new release in GitHub which kicks off a release workflow to build and push an updated container image to a GitHub Container Registry.&lt;/li&gt;
&lt;li&gt;FluxCD detects the new image and updates the image tag in the cluster.&lt;/li&gt;
&lt;li&gt;FluxCD rolls out the new image to the cluster.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We&amp;rsquo;ll use same AKS store demo app we used in the previous post, but this time we&amp;rsquo;ll go a bit faster.&lt;/p&gt;</description></item><item><title>Git going with GitOps on AKS: A Step-by-Step Guide using FluxCD AKS Extension</title><link>https://paulyu.dev/article/git-going-with-gitops-on-aks/</link><pubDate>Wed, 20 Sep 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/git-going-with-gitops-on-aks/</guid><description>&lt;p&gt;In reading through &lt;a href="https://dev.to/smurawski"&gt;@StevenMurawski&lt;/a&gt;&amp;rsquo;s blog post titled, &lt;a href="https://aka.ms/cloudnative/WhatReallyIsGitOps"&gt;What Really is GitOps?&lt;/a&gt; we learned that GitOps is a way to do &lt;a href="https://learn.microsoft.com/devops/deliver/what-is-continuous-delivery"&gt;Continuous Delivery&lt;/a&gt; of our applications on Kubernetes.&lt;/p&gt;
&lt;p&gt;In this post, I will jump right into how you can &amp;ldquo;git&amp;rdquo; going with GitOps by enabling the &lt;a href="https://learn.microsoft.com/azure/azure-arc/kubernetes/conceptual-gitops-flux2"&gt;FluxCD AKS Extension&lt;/a&gt; on your Azure Kubernetes Service (AKS) and using a tool called &lt;a href="https://kustomize.io/"&gt;Kustomize&lt;/a&gt; to help with Kubernetes configuration management.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll deploy my new favorite demo app, &lt;a href="https://github.com/Azure-Samples/aks-store-demo"&gt;AKS Store Demo&lt;/a&gt; to our AKS cluster and then make some changes to the application and see how FluxCD handles them.&lt;/p&gt;</description></item><item><title>Streamline Network Observability on AKS: A Step-by-Step Guide to enable the AKS add-on with Terraform</title><link>https://paulyu.dev/article/streamline-network-observability-aks-addon-terraform-guide/</link><pubDate>Mon, 10 Jul 2023 13:00:00 +0000</pubDate><guid>https://paulyu.dev/article/streamline-network-observability-aks-addon-terraform-guide/</guid><description>&lt;p&gt;Have you ever had to troubleshoot network issues in your Kubernetes clusters? If so, you know how challenging it can be to identify and resolve problems.&lt;/p&gt;
&lt;p&gt;To troubleshoot network issues you probably had to use a combination of tools like &lt;code&gt;kubectl&lt;/code&gt;, &lt;code&gt;tcpdump&lt;/code&gt;, &lt;code&gt;wireshark&lt;/code&gt;, and &lt;code&gt;netstat&lt;/code&gt;. The list goes on and on&amp;hellip; While these tools are great for debugging and capturing network logs and traces, they don&amp;rsquo;t provide a holistic view of your cluster&amp;rsquo;s network traffic.&lt;/p&gt;</description></item><item><title>Efficient Configuration Management in AKS: Integrating Azure App Configuration for Seamless Loading of Key-Value Pairs into Config Maps</title><link>https://paulyu.dev/article/efficient-configuration-management-aks-integrating-azure-app-configuration/</link><pubDate>Tue, 13 Jun 2023 06:00:00 -0700</pubDate><guid>https://paulyu.dev/article/efficient-configuration-management-aks-integrating-azure-app-configuration/</guid><description>&lt;p&gt;Did you know that &lt;a href="https://learn.microsoft.com/azure/azure-app-configuration/overview"&gt;Azure App Configuration Service&lt;/a&gt; is a managed service that helps you centralize your application configuration? It provides a way to store all your app configs in one place and manage them centrally. It also provides a way to manage feature flags and control feature rollouts. I highlighted the feature management capabilities in a breakout session the &lt;a href="https://build.microsoft.com"&gt;Microsoft Build&lt;/a&gt; conference a few weeks ago. If you have not watched the session yet, you can find the recording &lt;a href="https://youtu.be/LhJODembils"&gt;here&lt;/a&gt;&lt;/p&gt;</description></item><item><title>#MSBuild | Integrating Azure AI and Azure Kubernetes Service to build intelligent apps | BRK225H</title><link>https://paulyu.dev/video/msbuild-2023-brk225h/</link><pubDate>Fri, 02 Jun 2023 14:05:46 -0800</pubDate><guid>https://paulyu.dev/video/msbuild-2023-brk225h/</guid><description>&lt;p&gt;I had the opportunity to speak at #MSBuild 2023. Build is Microsoft&amp;rsquo;s largest developer conference held every year in May. This year, we were lucky enough to get back to a full in-person experience with plenty of awesome sessions with tons of technical demos. I shared the stage with Jorge Palma from the AKS PM team, and we spoke about how you can to integrate Azure AI and Azure Kubernetes Service to build and run your intelligent apps.&lt;/p&gt;</description></item><item><title>Web Application Routing on AKS</title><link>https://paulyu.dev/article/managed-ingress-on-aks/</link><pubDate>Wed, 16 Nov 2022 07:00:00 -0700</pubDate><guid>https://paulyu.dev/article/managed-ingress-on-aks/</guid><description>&lt;p&gt;Exposing your web applications on &lt;a href="https://learn.microsoft.com/azure/aks/intro-kubernetes"&gt;Azure Kubernetes Service (AKS)&lt;/a&gt; has gotten a little bit easier. In this post, I will cover the new &lt;a href="https://learn.microsoft.com/azure/aks/web-app-routing?tabs=with-osm"&gt;Web Application Routing&lt;/a&gt; feature for AKS and discuss reasons why you may want to implement it within your cluster.&lt;/p&gt;
&lt;h2 id="exposing-your-app"&gt;Exposing your app&lt;/h2&gt;
&lt;p&gt;You have a lot of options when it comes to exposing your application &lt;strong&gt;Pods&lt;/strong&gt; to the world. If you&amp;rsquo;re using a managed-Kubernetes service in the cloud, you could deploy a &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/"&gt;Service&lt;/a&gt; and set the type to &lt;a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer"&gt;LoadBalancer&lt;/a&gt; and your cloud provider will provision one with a public IP. The &lt;strong&gt;Service&lt;/strong&gt; sits in front of your &lt;strong&gt;Pods&lt;/strong&gt; and if all you need is a public IP, you&amp;rsquo;re good to go.&lt;/p&gt;</description></item></channel></rss>