<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Azure Kubernetes Service on Thorsten Hans</title>
		<link>https://thorsten-hans.com/tags/azure-kubernetes-service/</link>
		<description>Recent content in Azure Kubernetes Service on Thorsten Hans</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Fri, 09 Sep 2022 05:20:58 +0000</lastBuildDate>
		
			<atom:link href="https://thorsten-hans.com/tags/azure-kubernetes-service/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Provision AKS and NAT Gateway with Terraform</title>
				<link>https://thorsten-hans.com/provision-aks-and-nat-gateway-with-terraform/</link>
				<pubDate>Fri, 09 Sep 2022 05:20:58 +0000</pubDate>
				<guid>https://thorsten-hans.com/provision-aks-and-nat-gateway-with-terraform/</guid>
				<description>&lt;p&gt;A Virtual Network NAT (NAT Gateway) is the recommended method for outbound connectivity when using Azure Virtual Networks (vNets). We can also use a NAT Gateway to route egress traffic from Azure Kubernetes Service (AKS), if the AKS cluster is deployed to a subnet associated with a NAT Gateway.&lt;/p&gt;&#xA;&lt;p&gt;In this article, we&amp;rsquo;ll look at what NAT Gateway is, which benefits you get from using a NAT Gateway for outbound connectivity, and how we can provision both AKS and NAT Gateway using Terraform.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Logging in Kubernetes with Loki and the PLG stack</title>
				<link>https://thorsten-hans.com/logging-in-kubernetes-with-loki-and-plg-stack/</link>
				<pubDate>Tue, 05 Apr 2022 13:30:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/logging-in-kubernetes-with-loki-and-plg-stack/</guid>
				<description>&lt;p&gt;Observability is a huge topic in cloud-native environments. One must collect, understand, and investigate millions of logs from different sources to understand what&amp;rsquo;s happening at an application&amp;rsquo;s runtime. Log stacks - like PLG - address all those concerns and are typically composed of multiple applications with dedicated responsibilities. At the core of every log stack, a log aggregation system is responsible for indexing, storing, and exposing a query interface for log messages.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Add krustlet node pools to Azure Kubernetes Service</title>
				<link>https://thorsten-hans.com/add-krustlet-node-pools-to-azure-kubernetes-service/</link>
				<pubDate>Tue, 26 Oct 2021 14:23:42 +0000</pubDate>
				<guid>https://thorsten-hans.com/add-krustlet-node-pools-to-azure-kubernetes-service/</guid>
				<description>&lt;p&gt;If we had traveled three years back in time, running WebAssembly (Wasm) workloads in Kubernetes would have sounded like fiction. Today, it&amp;rsquo;s real! With &lt;a href=&#34;https://krustlet.dev&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;krustlet&lt;/a&gt;&#xA;, developers can run Wasm workloads directly in Kubernetes. This article will look at what krustlet is and how we can bring it to our Azure Kubernetes Service (AKS) clusters.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-krustlet&#34;&gt;What is Krustlet&lt;/h2&gt;&#xA;&lt;p&gt;Krustlet is a &lt;a href=&#34;https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Kubernetes kubelet&lt;/a&gt;&#xA; written in Rust to run Wasm workloads in Kubernetes. Nodes running &lt;em&gt;krustlet&lt;/em&gt; have special tolerations assigned, which we can use within Kubernetes manifests, to ensure Wasm workloads will be scheduled to &lt;em&gt;krustlet&lt;/em&gt; nodes. Under the covers, &lt;em&gt;krustlet&lt;/em&gt; uses &lt;a href=&#34;https://wasmtime.dev/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;wasmtime&lt;/a&gt;&#xA; as the runtime for our Wasm workloads using the &lt;code&gt;wasm32-wasi&lt;/code&gt; architecture.&lt;/p&gt;</description>
			</item>
			<item>
				<title>External-DNS with Azure Kubernetes Service and Azure DNS</title>
				<link>https://thorsten-hans.com/external-dns-azure-kubernetes-service-azure-dns/</link>
				<pubDate>Thu, 09 Sep 2021 10:52:53 +0000</pubDate>
				<guid>https://thorsten-hans.com/external-dns-azure-kubernetes-service-azure-dns/</guid>
				<description>&lt;p&gt;This article guides you through the process of configuring &lt;a href=&#34;https://github.com/kubernetes-sigs/external-dns&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;External-DNS&lt;/a&gt;&#xA; with Azure Kubernetes Service (AKS) and Azure DNS. By deploying and configuring External-DNS and necessary Azure services correctly, you can ensure proper routing from your custom domain into Kubernetes. Before we dive into actually configuring External-DNS and wiring everything up, let&amp;rsquo;s briefly revisit some core concepts.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cloud-platform-automation-with-managed-kubernetes-clusters&#34;&gt;Cloud platform automation with managed Kubernetes clusters&lt;/h2&gt;&#xA;&lt;p&gt;Managed Kubernetes clusters like Azure Kubernetes Service (AKS) automate the surrounding cloud platform using their custom cloud controller manager implementation as part of their Kubernetes distribution. For example, this makes exposing a service of type &lt;code&gt;LoadBalancer&lt;/code&gt; frictionless. AKS will automatically acquire a public IP address and provision an instance of Azure Load Balancer (LNB) to route ingress traffic into the Kubernetes cluster.&lt;/p&gt;</description>
			</item>
			<item>
				<title>6 Steps To Run .NET Core Apps In Azure Kubernetes</title>
				<link>https://thorsten-hans.com/6-steps-to-run-netcore-apps-in-azure-kubernetes/</link>
				<pubDate>Sun, 07 Jun 2020 08:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/6-steps-to-run-netcore-apps-in-azure-kubernetes/</guid>
				<description>&lt;p&gt;Mastering Kubernetes is hard and a time-consuming task. However, getting started with Kubernetes in Azure as a .NET Core Developer is relatively easy. It takes six steps to get your application up and running in Azure Kubernetes Service (AKS), starting with a plain, regular .NET Core Web API.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#scope&#34;&gt;Scope&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#requirements&#34;&gt;Requirements&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#1-create-a-docker-image&#34;&gt;1. Create A Docker Image&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#2-create-an-azure-container-registry&#34;&gt;2. Create An Azure Container Registry&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#3-push-the-docker-image-to-acr&#34;&gt;3. Push The Docker Image To ACR&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#4-create-a-kubernetes-cluster&#34;&gt;4. Create A Kubernetes Cluster&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#5-create-kubernetes-deployment-manifests&#34;&gt;5. Create Kubernetes Deployment Manifests&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#6-deploy-your-application&#34;&gt;6. Deploy Your Application&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#conclusion&#34;&gt;Conclusion&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This article will guide you through the entire process and explain all steps in detail, so you can follow and end up with having your application being executed in Kubernetes and being exposed to the internet.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Azure Arc enabled Kubernetes: Digital Ocean Kubernetes in Azure</title>
				<link>https://thorsten-hans.com/azure-arc-enabled-kubernetes-digital-ocean/</link>
				<pubDate>Sun, 24 May 2020 08:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-arc-enabled-kubernetes-digital-ocean/</guid>
				<description>&lt;p&gt;During Microsoft Build Conference 2020, Microsoft demonstrated Azure Arc enabled Kubernetes, which allows you to connect and manage external Kubernetes clusters in Azure.&lt;/p&gt;&#xA;&lt;p&gt;By attaching your existing Kubernetes clusters to Azure, you can use all the Azure goodness to control external clusters like any other internal Azure resource. Once connected, you can do certain things with the external Kubernetes cluster, like for example:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add it to given Resource Groups&lt;/li&gt;&#xA;&lt;li&gt;Categorize it using Tags&lt;/li&gt;&#xA;&lt;li&gt;Access it via Azure Resource Graph&lt;/li&gt;&#xA;&lt;li&gt;Apply Azure Policies to it&lt;/li&gt;&#xA;&lt;li&gt;Protect with Azure Security Center&lt;/li&gt;&#xA;&lt;li&gt;Collect metrics using Azure Monitor&lt;/li&gt;&#xA;&lt;li&gt;Define cluster and application configuration with GitOps&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This post explains how to connect a Kubernetes cluster running in Digital Ocean to your Azure Subscription by leveraging Azure Arc. Once connected, we will add some tags to the external cluster and query it using Azure Resource Graph to verify the connection.&lt;/p&gt;</description>
			</item>
			<item>
				<title>AKS cluster auto-scaler inside out</title>
				<link>https://thorsten-hans.com/aks-cluster-auto-scaler-inside-out/</link>
				<pubDate>Mon, 11 May 2020 16:10:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/aks-cluster-auto-scaler-inside-out/</guid>
				<description>&lt;p&gt;Cluster auto-scaling for &lt;a href=&#34;https://azure.microsoft.com/en-us/services/kubernetes-service/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Azure Kubernetes Service (AKS)&lt;/a&gt;&#xA; is available for quite some time now. I have been using it in several projects so far.This post explains all details about the AKS cluster auto-scaler, shows how to enable it for both - new and existing AKS clusters - and gives you an example of how to use custom auto-scaler profile settings.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#what-is-the-aks-cluster-auto-scaler&#34;&gt;What is the AKS cluster auto-scaler&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#why-should-you-use-cluster-auto-scaler&#34;&gt;Why should you use cluster auto-scaler&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#enable-azure-kubernetes-cluster-auto-scaler&#34;&gt;Enable Azure Kubernetes cluster auto-scaler&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#modify-auto-scaler-boundaries&#34;&gt;Modify auto-scaler boundaries&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#disable-cluster-auto-scaler&#34;&gt;Disable cluster auto-scaler&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#verify-aks-cluster-auto-scaling&#34;&gt;Verify AKS cluster auto-scaling&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#deploy-the-sample-application&#34;&gt;Deploy the sample application&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#retract-the-sample-application&#34;&gt;Retract the sample application&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#custom-cluster-scaling-behavior&#34;&gt;Custom cluster scaling behavior&lt;/a&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#specify-custom-sclaing-profile-settings&#34;&gt;Specify custom sclaing profile settings&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#cluster-auto-scaler-in-combination-with-multiple-aks-node-pools&#34;&gt;Cluster auto-scaler in combination with multiple AKS node-pools&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#recap&#34;&gt;Recap&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;what-is-the-aks-cluster-auto-scaler&#34;&gt;What is the AKS cluster auto-scaler&lt;/h2&gt;&#xA;&lt;p&gt;With cluster auto-scaling, the actual load of your worker-nodes will be monitored actively. By adding and removing worker-nodes from the cluster, it ensures that enough resources are available to keep your application healthy and responsive. In contrast, it removes worker-nodes from the AKS cluster, to optimize resource utilization and be as cost-effective as possible.&lt;/p&gt;</description>
			</item>
			<item>
				<title>3 Ways to integrate ACR with AKS</title>
				<link>https://thorsten-hans.com/3-ways-to-integrate-acr-with-aks/</link>
				<pubDate>Wed, 12 Feb 2020 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/3-ways-to-integrate-acr-with-aks/</guid>
				<description>&lt;p&gt;To integrate Azure Container Registry (ACR) with Azure Kubernetes Service (AKS), operators and developers currently have three different options. At the end of the article, you can integrate the protected implementation of Docker Registry 2.0 with your Kubernetes cluster using your preferred strategy.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-kubernetes-secret&#34;&gt;1. Kubernetes Secret&lt;/h2&gt;&#xA;&lt;p&gt;First and perhaps the easiest integration strategy is to create a Kubernetes Secret of type &lt;code&gt;docker-registry&lt;/code&gt;. You can create such a &lt;code&gt;Secret&lt;/code&gt; either using &lt;code&gt;yaml&lt;/code&gt; or using the &lt;code&gt;kubectl create&lt;/code&gt; command:&lt;/p&gt;</description>
			</item>
			<item>
				<title>AKS and ACR Integration - Revisited</title>
				<link>https://thorsten-hans.com/aks-and-acr-integration-revisited/</link>
				<pubDate>Fri, 04 Oct 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/aks-and-acr-integration-revisited/</guid>
				<description>&lt;p&gt;Back in 2017, I published &lt;a href=&#34;https://thorsten-hans.com/how-to-use-private-azure-container-registry-with-kubernetes/&#34;&gt;this&lt;/a&gt;&#xA; article on integrating Kubernetes with ACR. Since that time, a lot has changed in the world of containers and orchestrators. Especially Microsoft is pushing hard in the Kubernetes area and keeps on shipping features regularly as part of their managed Kubernetes offering. The integration of ACR and AKs became even more comfortable since Azure CLI &lt;code&gt;2.0.73&lt;/code&gt; has been released. That said, let&amp;rsquo;s check out how smooth the integration is.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The state of Helm 3 - Hands-On!</title>
				<link>https://thorsten-hans.com/the-state-of-helm3-hands-on/</link>
				<pubDate>Wed, 02 Oct 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/the-state-of-helm3-hands-on/</guid>
				<description>&lt;p&gt;Helm, is the package manager for Kubernetes. It allows you to install complex applications and maintain the entire application lifecycle using a lightweight and intuitive CLI.  You can think of it as the &lt;code&gt;npm&lt;/code&gt; or &lt;code&gt;nuget&lt;/code&gt; for Kubernetes.&lt;/p&gt;&#xA;&lt;p&gt;Helm is around for quite some time in the Kubernetes community. The project was started by Deis and Google and is an essential part of CNCF.&lt;/p&gt;&#xA;&lt;p&gt;Since Helm 3 is available as a beta release, it is the right time to look into it. This article summarizes the upcoming changes and illustrates how Helm 3 could be used to build, distribute, and manage applications in Kubernetes.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Custom domains in Azure Kubernetes Service (AKS) with NGINX Ingress and Azure CLI</title>
				<link>https://thorsten-hans.com/custom-domains-in-azure-kubernetes-with-nginx-ingress-azure-cli/</link>
				<pubDate>Mon, 30 Sep 2019 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/custom-domains-in-azure-kubernetes-with-nginx-ingress-azure-cli/</guid>
				<description>&lt;p&gt;When running applications in Azure Kubernetes Service (AKS), NGINX Ingress does a great job in routing inbound traffic. The flexible routing engine allows a wide variety of scenarios to expose different parts of cloud-native applications using different URLs. Unfortunately, there is no documentation on how to map such a custom domain to a public IP address without using the Azure Portal.&lt;/p&gt;&#xA;&lt;p&gt;This article outlines the process of mapping a custom domain to the public IP address acquired by NGINX Ingress in AKS using Azure CLI. I assume you have already deployed your application and corresponding NGINX Ingress to your AKS.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Azure Key Vault FlexVolume for Kubernetes  —  A journey to integrate Azure Key Vault and AKS</title>
				<link>https://thorsten-hans.com/azure-key-vault-flexvolume-for-kubernetes/</link>
				<pubDate>Mon, 10 Dec 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azure-key-vault-flexvolume-for-kubernetes/</guid>
				<description>&lt;p&gt;This is the second part of the mini-series on Integrating &lt;em&gt;Azure Key Vault&lt;/em&gt; and &lt;em&gt;AKS&lt;/em&gt; (Azure Kubernetes Services). If you missed the &lt;a href=&#34;https://thorsten-hans.com/azuread-pod-identity-aks-integrate-azure-keyvault/&#34;&gt;first part&lt;/a&gt;&#xA;, you should definitely read it before digging into this article.&lt;/p&gt;&#xA;&lt;h2 id=&#34;introducing-azure-key-vault-flexvolume-for-kubernetes&#34;&gt;Introducing Azure Key Vault FlexVolume for Kubernetes&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Azure Key Vault FlexVolume for Kubernetes&lt;/em&gt; is a driver that allows you to consume typed data from &lt;em&gt;Azure Key Vault&lt;/em&gt; (like secrets, keys or certificates) and attach that data directly to Pods. You can find the project itself &lt;a href=&#34;https://github.com/Azure/kubernetes-keyvault-flexvol&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;directly on GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>AzureAD Pod Identity in AKS: A journey to integrate Azure Key Vault</title>
				<link>https://thorsten-hans.com/azuread-pod-identity-aks-integrate-azure-keyvault/</link>
				<pubDate>Thu, 06 Dec 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/azuread-pod-identity-aks-integrate-azure-keyvault/</guid>
				<description>&lt;p&gt;Back in May, I wrote an article on how to integrate Azure Key Vault with ACS. Since that, a lot happened in the Azure and Kubernetes space and I thought an updated version would be worth sharing because dealing correctly with sensitive data is &lt;strong&gt;essential&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This is the first of two separate articles, that will guide you through the complete setup and configuration process to integrate &lt;em&gt;Azure Kubernetes Services&lt;/em&gt; and &lt;em&gt;Azure Key Vault&lt;/em&gt; securely without leaking essential data about your &lt;em&gt;Service Principal&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Inspect your Kubernetes inventory in no time with ASP.NET Core and Kubernetes Client Library</title>
				<link>https://thorsten-hans.com/inspect-kubernetes-inventory-with-aspnetcore-kubernetes-client-library/</link>
				<pubDate>Tue, 04 Dec 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/inspect-kubernetes-inventory-with-aspnetcore-kubernetes-client-library/</guid>
				<description>&lt;p&gt;Running and maintaining complex applications on Kubernetes often requires good monitoring capabilities. Sure, there are plenty of products available which can be deployed easily to an existing cluster to get insights about the current cluster inventory. But why not build your own?&lt;/p&gt;&#xA;&lt;p&gt;In this post, I&amp;rsquo;ll guide you through the process of creating a simple ASP.NET Core Web API to expose your cluster&amp;rsquo;s inventory  -  such as Pods for example -  to other applications in order to get exactly those insights that are important for you. I used the following example frequently during public talks to explain the core concepts of &lt;em&gt;Kubernetes&lt;/em&gt; to .NET developers.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Integrating Azure Key Vault with Azure Container Services</title>
				<link>https://thorsten-hans.com/integrating-azure-keyvault-with-azure-container-services/</link>
				<pubDate>Fri, 11 May 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/integrating-azure-keyvault-with-azure-container-services/</guid>
				<description>&lt;p&gt;With &lt;em&gt;Azure Key Vault&lt;/em&gt;, Microsoft is offering a dedicated and secure service to manage and maintain sensitive data like Connection-Strings, Certificates, or key-value pairs.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re hoping to see a native &lt;em&gt;Azure Key Vault&lt;/em&gt; integration for &lt;em&gt;Azure Container Services&lt;/em&gt; (ACS) in the near future. At least the &lt;a href=&#34;https://docs.microsoft.com/en-us/azure/aks/faq&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;official FAQ&lt;/a&gt;&#xA; mentions the feature on the product&amp;rsquo;s roadmap. Until this features will be shipped and if you&amp;rsquo;re using another &lt;em&gt;Kubernetes&lt;/em&gt; environment - such as &lt;em&gt;GCP&lt;/em&gt; or &lt;em&gt;AWS&lt;/em&gt; offerings -, you&amp;rsquo;ve to integrate &lt;em&gt;Azure Key Vault&lt;/em&gt; manually into your application building blocks to get rid of storing most sensitive data in plain old &lt;em&gt;Kubernetes Secrets&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Upgrading a Kubernetes cluster on AKS using Azure CLI</title>
				<link>https://thorsten-hans.com/upgrading-a-kubernetes-cluster-on-aks-using-azure-cli/</link>
				<pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/upgrading-a-kubernetes-cluster-on-aks-using-azure-cli/</guid>
				<description>&lt;p&gt;Upgrading an on-premises &lt;em&gt;Kubernetes&lt;/em&gt; cluster can be very cumbersome and time-consuming task. It&amp;rsquo;s not just a single upgrade command that you can execute and everything happens magically behind the scenes. A single command for upgrading an entire Kubernetes cluster would be awesome 💚 and that&amp;rsquo;s exactly what&amp;rsquo;s provided by the AKS team. A single command to upgrade all your masters and nodes.&lt;/p&gt;&#xA;&lt;p&gt;My fellow MVP &lt;a href=&#34;https://zimmergren.net&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Tobias Zimmergren&lt;/a&gt;&#xA; wrote a &lt;a href=&#34;https://zimmergren.net/azure-container-services-aks-upgrade-kubernetes/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;great post on how to upgrade AKS clusters&lt;/a&gt;&#xA; a couple of weeks ago. But technology and tools are &lt;strong&gt;changing quickly&lt;/strong&gt; these days.&lt;/p&gt;</description>
			</item>
			<item>
				<title>CronJobs on AKS using Azure Files and .NET Core</title>
				<link>https://thorsten-hans.com/cronjobs-in-managed-azure-container-services-aks-using-azure-files-and-net-core/</link>
				<pubDate>Wed, 21 Feb 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/cronjobs-in-managed-azure-container-services-aks-using-azure-files-and-net-core/</guid>
				<description>&lt;p&gt;Tasks need to be executed repeatedly in almost every application. We all know requirements like these. Perhaps you have to clean up some tables in the database or you&amp;rsquo;ve to delete temporary files, no matter which requirement you&amp;rsquo;ve exactly, but &lt;em&gt;CronJobs&lt;/em&gt; in &lt;em&gt;Kubernetes&lt;/em&gt; are exactly designed for scenarios like these.&#xA;&lt;em&gt;Kubernetes&lt;/em&gt; offers &lt;em&gt;CronJobs&lt;/em&gt; as first-class citizen objects. In the scope of &lt;em&gt;Kubernetes&lt;/em&gt;, a &lt;em&gt;CronJob&lt;/em&gt; should be used if you want to execute a piece of software either at a specified point in time or repeatedly at specified points in time.&#xA;Technically it&amp;rsquo;s just a regular Pod with a schedule definition. You&amp;rsquo;ve to provide your schedule using the good old &lt;a href=&#34;https://en.wikipedia.org/wiki/Cron&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;cron format&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy Azure Functions to Kubernetes and scale them automatically</title>
				<link>https://thorsten-hans.com/deploy-azure-functions-to-kubernetes-and-scale-them-automatically/</link>
				<pubDate>Fri, 26 Jan 2018 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/deploy-azure-functions-to-kubernetes-and-scale-them-automatically/</guid>
				<description>&lt;p&gt;&lt;em&gt;Azure Functions&lt;/em&gt; has become my standard framework to build &lt;em&gt;serverless&lt;/em&gt; backends for &lt;em&gt;Single Page Applications&lt;/em&gt; (SPAs). It&amp;rsquo;s easy to get started with &lt;em&gt;Azure Functions&lt;/em&gt;, although the platform itself is really powerful and highly configurable. I really love the cloud hosting capabilities for &lt;em&gt;Azure Functions&lt;/em&gt;, but from time to time, it&amp;rsquo;s not allowed to use the public cloud as the deployment target.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Azure Functions&lt;/em&gt; can easily be hosted in different environments. You can download the entire runtime and execute it on-premises (if you have to) or you can use the existing &lt;em&gt;Docker&lt;/em&gt; image and deploy your serverless backend to &lt;em&gt;Kubernetes&lt;/em&gt;. And that&amp;rsquo;s exactly what this post will describe, you&amp;rsquo;ll create a sample Azure Functions project including a docker container, deploy it to a Kubernetes cluster and let it automatically scale based on CPU utilization.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to use a private Azure Container Registry with Kubernetes</title>
				<link>https://thorsten-hans.com/how-to-use-private-azure-container-registry-with-kubernetes/</link>
				<pubDate>Fri, 18 Aug 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/how-to-use-private-azure-container-registry-with-kubernetes/</guid>
				<description>&lt;p&gt;Besides using the goodness of Azure Container Services (ACS). Different Azure services like Azure Container Registry (ACR) and Azure Container Instances (ACI) can be used and connected from independent container orchestrators like kubernetes (k8s). This post will explain how to set up a custom ACR and connect it to an existing k8s cluster to ensure images will be pulled from the private container registry instead of the public docker hub.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
