Quantcast
Channel: Chaminda's DevOps Journey with MSFT
Browsing all 340 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Publish Ascii Documentation to Confluence via Azure Pipelines

We can use AsciiDoc to write technical documentation. However, confluence is a popular wiki to keep the documentation related to software projects. In this blog let's look at how to publish AsciiDoc...

View Article


Image may be NSFW.
Clik here to view.

Deploying Azure Managed Grafana with Terraform

 Grafana can be used to setup monitoring and alerting with AKS. Azure provide an option to setup managed grafana dashboard, which can be integrated with managed protheus for AKS. In this post let's...

View Article


Image may be NSFW.
Clik here to view.

Cleanup Strategy for Azure Container Registry Based on Azure Pipeline...

 We generally use Azue container registry to store our application docker images when we use AKS as the ochestrator for our applications. However, piling up of previous releases images, as well as...

View Article

Image may be NSFW.
Clik here to view.

Copy Blob Between Azure Storage Accounts with C# Using DefaultAzureCredential

 Copying a blob between Azure storage account without downloading the blob locally is realy simple with azcopy command. Now using Azure.Storage.Blobs we can copy blobs between Azure sotrages without...

View Article

Image may be NSFW.
Clik here to view.

Use Dynamic Block Conditionally in Terraform

 Dynamic block allows to create nested multi level block structures in terraform code. Conditional usage of such blocks are really useful in many scenarios. For example, when we create Azure Cosmos DB,...

View Article


Image may be NSFW.
Clik here to view.

Setup Azure File Share Capacity Alert to Slack with Terraform

 Setting up an Azure File Share capacity alert is useful to know when you reach at least 80% of allocated quota for the file share. This will give the teams ample time to increase the allocation to...

View Article

Image may be NSFW.
Clik here to view.

Resolving "ERROR: Account has previously been signed out of this...

 While trying to execute terraform plan locally after an az login we sometimes envounter below error.│ Error: populating Resource Provider cache: listing Resource Providers: loading results:...

View Article

Image may be NSFW.
Clik here to view.

Disable Soft Delete for Azure File Shares with Terraform

 Azure file shares can be used as mounted persisted volume in AKS clusters to provide necessary storage to pods in AKS. Azure file shares are enabled with soft delete for files by default. However,...

View Article


Image may be NSFW.
Clik here to view.

Use Dynamic Block Conditionally in Terraform with a Nested Block

 We have discussed  usage of dynamic blocks conditionally in terraform in the post "Use Dynamic Block Conditionally in Terraform". Sometimes we need to use dynamic with nested blocks. In this post look...

View Article


Image may be NSFW.
Clik here to view.

Use AKS Workload Identity to Login with "az login" in a Container with Azure CLI

 We have discussed "Setting Up Azure Workload Identity for Containers in Azure Kubernetes Services" previously. We can use Azure CLI  to interact with Azure resources in a container which is using base...

View Article

Image may be NSFW.
Clik here to view.

Using "grep" with "kubectl logs" to Filter Container/Pod Logs

 kubectl logs command helps us to inspect logs of pods in AKS/kubernetes and useful to diagnose issues. However, when there is too much logs it is harder to read through and find out errors easily....

View Article

Image may be NSFW.
Clik here to view.

Setting Up Alert for AKS Pod Restarts Using Log Analytics Workspace and Grafana

 Azure Kubernetes Services (AKS)  pod restarts can be obtained from the KubePodInventory of the connected log analytics workspace. This data can be depicted in a graph in grafana as described in the...

View Article

Image may be NSFW.
Clik here to view.

Gracefully Shut Down dotnet 8 IHostedService App - Deployed as a Windows...

 Applications implemented with IHostedService in dotnet, deployed to Azure Kubernetes Services (AKS) as containers in pods get terminated when pod recheduling happens or scaling-in opertaions happen....

View Article


Image may be NSFW.
Clik here to view.

Windows Nanoserver Image Pre Stop Hook to Avoid 502 for Requests

The pods deployed to AKS gets terminated due to reschduling, low priority evictions as well as during scaled in. We can add a termination grase period and pre stop sleep time as shown below in Linux...

View Article

Image may be NSFW.
Clik here to view.

Windows AKS Scaled Jobs Handle Graceful Termination for dotnet App using...

 We have discussed "Gracefully Shut Down dotnet 8 IHostedService App - Deployed as a Windows Container in AKS - While Scale In or Pod Deallocations" previously. The approach  works fine for pods...

View Article


Image may be NSFW.
Clik here to view.

Linux AKS Scaled Jobs Handle Graceful Termination for dotnet App using...

 We have discussed "Windows AKS Scaled Jobs Handle Graceful Termination for dotnet App using IHostedService When Preemption" previously. However,  for Linux scaled jobs we have to handle the graceful...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article


Image may be NSFW.
Clik here to view.

Setting Up RabbitMQ Cluster Operator and Topology Operator via Azure...

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...

View Article

Image may be NSFW.
Clik here to view.

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...

View Article

Image may be NSFW.
Clik here to view.

Resolve "System.NotSupportedException: Globalization Invariant Mode is not...

 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...

View Article
Browsing all 340 articles
Browse latest View live