Explore how Hybrid Logic Apps run effortlessly on K3s—delivering the power of Hybrid Logic Apps without the complexity and heavy infrastructure demands of a full Kubernetes cluster!
K3s is a lightweight Kubernetes distribution, certified by the Cloud Native Computing Foundation (CNCF) and originally developed by Rancher. It is optimized for on-premises environments with limited resources, making it ideal for edge computing and lightweight hybrid scenarios. Unlike a full Kubernetes distribution, K3s reduces overhead while maintaining full Kubernetes API compatibility.
This makes K3s an ideal choice for hosting Logic Apps Standard near your data sources—such as on-premises SQL Server or local file shares—when you have lightweight workloads. There are 5 steps which are followed to setup the Hybrid Logic Apps including infrastructure which is illustrated in the following diagram. Most of these 5 steps are same as discussed in the Hybrid Logic Apps doc except the K3s Setup part Set up your own infrastructure for Standard logic app workflows - Azure Logic Apps | Microsoft Learn.
Step 1: Prepare the K3s Cluster
- Docker desktop setup - In this case, the host machine is Windows 11 so decided to user Docker with WSL2 to setup the containers.
Install the docker desktop using WSL2 Docker Desktop: The #1 Containerization Tool for Developers | Docker and make sure we select WSL2
- Install K3s on your infrastructure and create single node cluster using k3d.
#Install choco , kubectl and Helm
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
powershell
choco install kubernetes-cli -y
choco install kubernetes-helm -y
choco install k3d -y
# open in new powershell window powershell k3d cluster create # deleting the default load balancer Traefik as it conflicts with 80 and 443 port - we can configure the load balancer to other ports if needed
kubectl delete svc traefik -n kube-system
kubectl delete deployment traefik -n kube-system
Next two steps are same as given Set up your own infrastructure for Standard logic app workflows - Azure Logic Apps | Microsoft Learn
Step 2: Connect the Kubernetes cluster to Azure Arc
Step 3: Setup the Azure Container Apps extension and environment
You need to skip the core DNS setup required for Azure Local as given in Update CoreDNS
Step 4: Conduct the Storage Configuration for SQL and SMB
SQL Database (Runtime Store): Hybrid Logic Apps use SQL database for runtime operations and run history. In this scenario I used on-premise SQL server using SQL Authentication. I setup the SQL Server 2022 on the Windows host machine, enabled SQL server authentication and added new SQL admin user. Please follow the link for more details.. The SQL connection string can be validated using following PowerShell script
$connectionString = "Server=<server IP address>;Initial Catalog=<databaseName>;Persist Security Info=False;User ID=<sqluser>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;"
try {
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
Write-Host "✅ Connection successful"
$connection.Close()
} catch {
Write-Host "❌ Connection failed: $($_.Exception.Message)"
}
SMB is used as local file share on Windows host machine; it is advised to use a new user for the Windows SMB share
$Username = "k3suser"
$Password = ConvertTo-SecureString "<password complex>" -AsPlainText -Force
$FullName = "K3s user"
$Description = "Created via PowerShell"
# Create the user
New-LocalUser -Name $Username -Password $Password -FullName $FullName -Description $Description
Add-LocalGroupMember -Group "Users" -Member $Username
Once the above user is created you can use Windows hosted machine to create Artifacts folder and allow read and write access. Please follow the link for more details
Step 5: Create your Logic App (Hybrid)
With all prerequisites and infrastructure in place for creating Hybrid Logic Apps, the next step is to build the Logic Apps using the specified connection string and SMB share path. This can be accomplished through the Azure Portal, as outlined below.
Now you can create Logic Apps workflows using the designer and execute the Logic Apps workflow.