<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kasun Rajapakse — Cloud &amp; DevOps</title><description>Practical insights on Azure, Kubernetes, DevOps, and modern cloud infrastructure.</description><link>https://kasunrajapakse.me/</link><language>en-us</language><item><title>Bootstrapping Flux on AKS: Connect a Git Repository with GitRepository and Kustomization CRDs</title><link>https://kasunrajapakse.me/blog/bootstrap-flux-on-aks-gitops/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/bootstrap-flux-on-aks-gitops/</guid><description>A practical walkthrough to bootstrap Flux on an AKS cluster, connect it to an external Git repository (GitHub, Azure DevOps, GitLab, and more), and declare reconciliation with GitRepository and Kustomization CRDs.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Flux</category><category>GitOps</category><category>GitHub</category></item><item><title>Azure SQL Error 9001: The Log for Database Is Not Available</title><link>https://kasunrajapakse.me/blog/azure-sql-error-9001-log-not-available/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/azure-sql-error-9001-log-not-available/</guid><description>A real-world look at SQL error 9001 in Azure SQL diagnostic logs — what it means, why it happens during planned maintenance reconfigurations, and how to make your application resilient against it.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate><category>Azure</category><category>Azure SQL</category><category>Troubleshooting</category><category>High Availability</category><category>Retry Logic</category></item><item><title>Scaling AKS Workloads on Custom Metrics with KEDA and Azure Managed Prometheus</title><link>https://kasunrajapakse.me/blog/aks-keda-managed-prometheus-scaler/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-keda-managed-prometheus-scaler/</guid><description>A hands-on demo using the AKS KEDA add-on and Azure Managed Prometheus to autoscale a Deployment on HTTP request rate. Covers the Prometheus scaler, ServiceMonitor scraping, Workload Identity authentication, and watching pods scale out and back in.</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>KEDA</category><category>Prometheus</category><category>Autoscaling</category><category>Workload Identity</category><category>Observability</category></item><item><title>Migrating AKS Ingress to Istio-Based Gateway API: Moving Beyond NGINX</title><link>https://kasunrajapakse.me/blog/aks-istio-gateway-api/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-istio-gateway-api/</guid><description>NGINX Ingress is retired. This guide walks through migrating AKS workloads to the App Routing add-on with Istio-based Gateway API, including GatewayClass, HTTPRoute, TLS from Key Vault, canary traffic splits, and header-based routing.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Istio</category><category>Gateway API</category><category>App Routing</category><category>Networking</category><category>Security</category></item><item><title>Deploying the AKS Argo CD Extension with App Routing Ingress and Entra ID SSO</title><link>https://kasunrajapakse.me/blog/aks-argocd-extension-entra-sso/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-argocd-extension-entra-sso/</guid><description>A complete walkthrough of the Argo CD cluster extension for AKS — what Argo CD is, the components behind it, and how to wire up App Routing ingress, TLS from Key Vault, and Microsoft Entra ID single sign-on with workload identity and group-based RBAC.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Argo CD</category><category>GitOps</category><category>Entra ID</category><category>App Routing</category><category>Workload Identity</category><category>Terraform</category><category>Security</category></item><item><title>When Good Policies Break Monitoring: How an Azure Policy Silently Broke Our AKS Pipeline</title><link>https://kasunrajapakse.me/blog/aks-azure-policy-blocks-monitor-addon-extension-migration/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-azure-policy-blocks-monitor-addon-extension-migration/</guid><description>An AKS incident from our deployment pipeline: Azure Monitor addons moved to a cluster extension-based backend — and a sensible Azure Policy that blocked extensions suddenly broke our AKS provisioning with no warning.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Azure Policy</category><category>Azure Monitor</category><category>Container Insights</category><category>Troubleshooting</category></item><item><title>Why You Should Never Lock AKS-Managed Resources: A Volume Outage Story</title><link>https://kasunrajapakse.me/blog/aks-resource-locks-managed-disks-incident/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-resource-locks-managed-disks-incident/</guid><description>A real incident from our AKS platform: resource locks on AKS-managed Azure disks silently broke the CSI driver during a node drain, leaving pods stuck without volumes. Here&apos;s what went wrong and what we should have done instead.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Resource Locks</category><category>CSI</category><category>Persistent Volumes</category><category>Troubleshooting</category></item><item><title>Runtime Threat Detection on AKS with Falco and Microsoft Sentinel</title><link>https://kasunrajapakse.me/blog/falco-aks-sentinel-runtime-security/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/falco-aks-sentinel-runtime-security/</guid><description>A practical walkthrough of wiring open-source Falco to Microsoft Sentinel for real-time Kubernetes runtime security: install, configure, ingest, and investigate threats — all with Infrastructure as Code.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Falco</category><category>Microsoft Sentinel</category><category>Security</category><category>eBPF</category><category>Bicep</category></item><item><title>My Experience as Technical Reviewer of &quot;The Ultimate Docker Container Book&quot;</title><link>https://kasunrajapakse.me/blog/technical-reviewer-ultimate-docker-container-book/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/technical-reviewer-ultimate-docker-container-book/</guid><description>Reflections on reviewing a 600+ page deep dive into Docker, Kubernetes, and managed cloud container platforms — what stood out, what I learned, and who the book is for.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><category>Docker</category><category>Kubernetes</category><category>Containers</category><category>Book Review</category><category>Cloud</category><category>AKS</category><category>EKS</category><category>GKE</category></item><item><title>Rescuing an AKS Namespace Stuck in Terminating State</title><link>https://kasunrajapakse.me/blog/aks-namespace-stuck-terminating/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-namespace-stuck-terminating/</guid><description>A real-world story: how a nightly cleanup pipeline got blocked by a namespace stuck in Terminating, and the kubectl proxy + finalizer trick that finally got it unstuck.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Kubernetes</category><category>Namespaces</category><category>Finalizers</category><category>Troubleshooting</category></item><item><title>Azure Application Gateway for Containers on AKS with the Gateway API</title><link>https://kasunrajapakse.me/blog/aks-application-gateway-for-containers/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/aks-application-gateway-for-containers/</guid><description>A hands-on walkthrough of deploying Application Gateway for Containers on AKS using the Kubernetes Gateway API, with a practical look at the managed and BYO deployment models.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><category>Azure</category><category>AKS</category><category>Application Gateway for Containers</category><category>Gateway API</category><category>Kubernetes</category><category>Bicep</category></item><item><title>How I Use GitHub Copilot and GitHub Pages to Run This Blog</title><link>https://kasunrajapakse.me/blog/building-blog-with-github-copilot-and-pages/</link><guid isPermaLink="true">https://kasunrajapakse.me/blog/building-blog-with-github-copilot-and-pages/</guid><description>A non-technical look at how I use GitHub Copilot as a writing partner and GitHub Pages as my publishing platform — and why the combination keeps me shipping.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><category>GitHub Copilot</category><category>GitHub Pages</category><category>Writing</category><category>Productivity</category><category>AI</category></item></channel></rss>