Azure Managed Grafana Setup with AKS

The following is a walk through of a quick setup of Azure Managed Grafana Instance and viewing performance graphs on applications running in Azure Kubernetes Service. This is a relatively new Azure platform service and the general documentation can be found at https://learn.microsoft.com/en-us/azure/managed-grafana/how-to-data-source-plugins-managed-identity?tabs=azure-portal I have had experience to build, configure and deploy Grafana into an …

Continue reading Azure Managed Grafana Setup with AKS

How To Mount Azure Key Vault Secret to Pods in Azure Kubernetes Service

Scenario: You require a pod to mount a secret stored in an Azure Key Vault. So that an application running in the pod can access the secret as a file and environment variable. Also manage the access security between the AKS cluster to the key vault using a user assigned managed identity. Background: To integrate …

Continue reading How To Mount Azure Key Vault Secret to Pods in Azure Kubernetes Service

Comprehensive Guide To Create an Azure Kubernetes Service with Az CLI

Objective: To provide key configuration parameters for the beginner when creating the Azure Kubernetes Service with Azure CLI. My design with related az aks create command configuration parameters. You can find the az aks create command’s documentation provides a list of about 60 parameters. az aks create --name --resource-group [--aad-admin-group-object-ids] [--aad-client-app-id] [--aad-server-app-id] [--aad-server-app-secret] [--aad-tenant-id] [--admin-username] …

Continue reading Comprehensive Guide To Create an Azure Kubernetes Service with Az CLI

Azure Portal Azure Kubernetes Resource Viewer vs Kubernetes Dashboard

As announced, in this article Kubernetes resource view is in public preview, I will review and give my thoughts on this new feature Kubernetes Resource View in the Azure Portal compared to the OSS Kubernetes Dashboard (Web UI). A prerequisite is that the AKS Cluster needs to be enable Azure AD integration. The biggest convenience …

Continue reading Azure Portal Azure Kubernetes Resource Viewer vs Kubernetes Dashboard

Kubernetes Error & Fix: clusterroles.rbac.authorization.k8s.io is forbidden: User clusterUser cannot list resource clusterroles

Issue Background: With an Azure Kubernetes Service deployment (version 1.17.9) in my dev environment, I launch the Kubernetes Dashboard application and I can’t see any Kubernetes resources and I get the following error notification clusterroles.rbac.authorization.k8s.io is forbidden: User "clusterUser" cannot list resource "clusterroles" in API group "rbac.authorization.k8s.io" at the cluster scope I am attempting to …

Continue reading Kubernetes Error & Fix: clusterroles.rbac.authorization.k8s.io is forbidden: User clusterUser cannot list resource clusterroles

Error & Fix: Azure Kubernetes ‘Failed to pull image’

Error Message: Failed to pull image "rkaks/dotnetcoresqldb:dev": rpc error: code = Unknown desc = Error response from daemon: pull access denied for rkaks/dotnetcoresqldb, repository does not exist or may require 'docker login': denied: requested access to the resource is denied Shown from the Kubernetes Dashboard application Context I have my application's docker image pushed into …

Continue reading Error & Fix: Azure Kubernetes ‘Failed to pull image’

Database Patterns with Azure Kubernetes Service Part 2: Azure SQL DB and Managed Identity

My Blog Post: An ASP .NET Core app hosted in Azure Kubernetes Service (AKS) that is accessing an Azure SQL Database using Azure AD Managed Identity. The benefit is the ability for the application code not to use conventional SQL credentials of username and password stored in configuration files. Also, not use Azure Key vault to retrieve any user name and password credentials. There is nothing wrong with these techniques, but using Managed Identity is more streamlined and is a security best practice. #AKS #Kubernetes #Security #managedidentity #azureAD #AzureSQL

Database Patterns with Azure Kubernetes Service Part 1: MySQL + Azure Managed Disk

One of the non-straight forward aspects of implementing for applications in Kubernetes is the stateful data store. I will be showing 2 relational database patterns in Azure Kubernetes Service. Since containers are the fundamental building blocks, these are stateless by default. That is the containers can lose its data when it is terminated or fail. …

Continue reading Database Patterns with Azure Kubernetes Service Part 1: MySQL + Azure Managed Disk

Understanding Ingress Controllers and Azure App Gateway for Azure Kubernetes Part 1: Intro

I will share my experiences with a design and implementation of Azure Application Gateway for an Azure Kubernetes Service (AKS) cluster. This is so that you may get some practical insight as you plan and design for using the Azure App Gateway. In this blog series, I will go over Fundamental Ingress conceptsArchitecture and deployment …

Continue reading Understanding Ingress Controllers and Azure App Gateway for Azure Kubernetes Part 1: Intro