Tuesday, 24 June 2025

Setting Up Azure Storage Blob Backups with Azure Backup Vault Using Terraform

 To create automated daily backups of Azure storage account blobs we can use Azure Backup Vault resource. It is possible to configure operational backups and vaulted backups for Azure storage blobs with the backup vault backup policies and instances. We need to consider the limitations specified for operational backups and the limitations in vaulted backups, specially the limitation of only 100 blob containers are allowed to be backed up for a given Azure storage account. Another issue with vaulted backups is the newly created containers in an Azure storage will not automatically included in the backups. Therefore, the Azure vaulted backups are working well only when you have predefoined set of blob containers in your implementation, that are configured for vaulted backups. 

Saturday, 7 June 2025

Access Management Dashboard Locally for a RabbitMQ Cluster Deployed in AKS via Port Forwarding or Nginx Ingress Controller Inside VNet

 We have discussed "Setting Up RabbitMQ Cluster in AKS Using RabbitMQ Cluster Operator" in a previous post. RabbitMQ management dashboard is a useful tool to have simple monitoring and inspecting the setup, connections etc. in the deployed RabbitMQ cluster (It is better to implement proper monitoring and alerting, which we will discuss in a next post). let' look at how to enable access to the dashboard of RabbitMQ deployed in the AKS cluster via port forwarding as well as setting up ingress via nginx.


Friday, 30 May 2025

Run a Test on RabbitMQ Cluster in AKS with perf-test

 Once a RabbitMQ cluster is deployed on AKS as described in "Setting Up RabbitMQ Cluster in AKS Using RabbitMQ Cluster Operator" it would be grat to test if the deployment is working as expected. For this purpose we can use a perf-test . Let's run a perf-test step by step for RabbitMQ in AKS cluster using wsl in this post.

Expectation is to run a performance test as shown below.



Sunday, 25 May 2025

Resolve "System.NotSupportedException: Globalization Invariant Mode is not supported" in Microsoft.Data.SqlClient with Alpine Docker Image

 You may encounter exception "System.NotSupportedException: Globalization Invariant Mode is not supported" in Microsoft.Data.SqlClient in Linux Alpine docker images. Exception details are as below.

fail: Poc.Common.Api.Middleware.GlobalExceptionHandlerMiddleware[0]      Unexpected error occurred.      System.NotSupportedException: Globalization Invariant Mode is not supported.         at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)         at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)         at Microsoft.Data.SqlClient.SqlConnection.Open()         at Poc.Domain.Core.Implementation.Sql.SqlCommanRunner.RunAsync(String command) in /build/src/Shared/Domain/Poc.Domain.Core/Implementation/Sql/SqlCommanRunner.cs:line 20

Friday, 9 May 2025

Setting Up RabbitMQ Cluster in AKS Using RabbitMQ Cluster Operator

 We have discused "Setting Up RabbitMQ Cluster Operator and Topology Operator via Azure Pipelines in AKS" in the previous post. The deployed cluster oprator in AKS can be used deploy a RabbitMQ cluster. In this post let's explore deploying a production ready RabbitMQ Cluster in AKS (without TLS/SSL - we will explore that in a future post), to be used with apps deployed in same AKS cluster. 

Once successfully deployed the RabbitMQ clsuter the rabbitmq namcspace should have resources shown in the below image. We are deploying a three node RabbitMQ cluster, each pod scheduled in a different Azure availability zone node. Cluster access setup with service/rabbitmq-cluster ClusterIP, as we only need access within AKS cluster for apps. How to use it for local development, we can discuss in a future post.


Saturday, 3 May 2025

Setting Up RabbitMQ Cluster Operator and Topology Operator via Azure Pipelines in AKS

Using operators to setup RabbitMQ cluster in  AKS (kubernetes) is a recomended approach. There are two RabbitMQ operators we need to deploy into AKS for setting up a RabbitMQ cluster and managing message setup in the deployed RabbitMQ cluster.

  • Cluster Operator: Automate provisioning, management and oprations of a RabbitMQ cluster within AKS.
  • Messaging Topology Operator: Managing message topologies within the deployed RabbitMQ cluster in AKS.
In this post let's look at how to seup above two operators in AKS using Azure DevOps pipeline step.

Saturday, 26 April 2025

List All Pods and Their Priority Classes with kubectl

Sometmes it would be necessery to identify which priority classes are used in each pod in a kubernetes environment, specially to plan and reorganize priorities in apps deployed. Let's look at a query to view pods with priority classes using kubectl.

Below command will get all pods in all namespaces with their priority classes name and priority value. The highest priority number value is the highet priority.

Saturday, 19 April 2025

Popular Posts