Cloud and Datacenter Management Blog

Microsoft Hybrid Cloud blogsite about Management


Leave a comment

How to monitor your #Kubernetes clusters – Best Practices Series #AKS #AzureMonitor

Get best practices on how to monitor your Kubernetes clusters from field experts in this episode of the Kubernetes Best Practices Series. In this intermediate level deep dive, you will learn about monitoring and logging in Kubernetes from Dennis Zielke, Technology Solutions Professional in the Global Black Belts Cloud Native Applications team at Microsoft.

Multi-cluster view from Azure Monitor

Azure Monitor provides a multi-cluster view showing the health status of all monitored AKS clusters deployed across resource groups in your subscriptions. It shows AKS clusters discovered that are not monitored by the solution. Immediately you can understand cluster health, and from here you can drill down to the node and controller performance page, or navigate to see performance charts for the cluster. For AKS clusters discovered and identified as unmonitored, you can enable monitoring for that cluster at any time.

Understand AKS cluster performance with Azure Monitor for containers

Container Live Logs provides a real-time view into your Azure Kubernetes Service (AKS) container logs (stdout/stderr) without having to run kubectl commands. When you select this option, new pane appears below the containers performance data table on the Containers view, and it shows live logging generated by the container engine to further assist in troubleshooting issues in real time.
Live logs supports three different methods to control access to the logs:

AKS without Kubernetes RBAC authorization enabled
AKS enabled with Kubernetes RBAC authorization
AKS enabled with Azure Active Directory (AD) SAML based single-sign on

You even can search in the Container Live Logs for Troubleshooting and history.

View Container Live logs with Azure Monitoring for AKS | Kubernetes | Containers 


Leave a comment

View Container Live logs with #Azure Monitoring #AKS #Kubernetes #Containers #AzureDevOps

Monitoring Azure Kubernetes Cluster

Azure Monitor for containers is a feature designed to monitor the performance of container workloads deployed to either Azure Container Instances or managed Kubernetes clusters hosted on Azure Kubernetes Service (AKS). Monitoring your containers is critical, especially when you’re running a production cluster, at scale, with multiple applications.
Azure Monitor for containers gives you performance visibility by collecting memory and processor metrics from controllers, nodes, and containers that are available in Kubernetes through the Metrics API. Container logs are also collected. After you enable monitoring from Kubernetes clusters, these metrics and logs are automatically collected for you through a containerized version of the Log Analytics agent for Linux and stored in your Log Analytics workspace.

Here you find awesome documentation about Understanding AKS cluster performance with Azure Monitor for containers

What I really like is that you now can see the Container Live logs from the Azure portal and see what is going on in the background of a Container 🙂

Activate Azure Kubernetes Container Live Logs

Here you see the Container Live logs

This feature provides a real-time view into your Azure Kubernetes Service (AKS) container logs (stdout/stderr) without having to run kubectl commands. When you select this option, new pane appears below the containers performance data table on the Containers view, and it shows live logging generated by the container engine to further assist in troubleshooting issues in real time.
Live logs supports three different methods to control access to the logs:

  1. AKS without Kubernetes RBAC authorization enabled
  2. AKS enabled with Kubernetes RBAC authorization
  3. AKS enabled with Azure Active Directory (AD) SAML based single-sign on

You even can search in the Container Live Logs for Troubleshooting and history :

Search on ssh

Azure Monitor for containers uses a containerized version of the Log Analytics agent for Linux. After initial deployment, there are routine or optional tasks you may need to perform during its lifecycle.
Because of this agent you can work with Log Analytics in Azure Monitor :

Log Analytics on Containers.

Here you find more on Log Analytics query language

Conclusion :

When you have your production workload running on Azure Kubernetes Clusters, It’s important to monitor to keep you in Control of the solution in Microsoft Azure and watch for improvements like performance for the business. With Container Live logs you can see what is going on in the Containers when you have issues and that’s great for troubleshooting to get your problem solved fast. Get your workload into Azure Containers and make your Azure DevOps CI/CD Pipelines in the Cloud.

Join the LinkedIn Community Groups for :

Containers in the Cloud

Azure DevOps Community

Microsoft Azure Monitor & Security for Hybrid IT


Leave a comment

Getting started with #Microsoft Azure Cognitive Services in #Containers #Azure #AI #AKS #Docker

Microsoft Visual Studio Code Tools for AI

With container support, customers can use Azure’s intelligent Cognitive Services capabilities, wherever the data resides. This means customers can perform facial recognition, OCR, or text analytics operations without sending their content to the cloud. Their intelligent apps are portable and scale with greater consistency whether they run on the edge or in Azure.

Bringing AI to the Edge via  Corporate Vice President, Azure AI Eric Boyd

Get started with these Azure Cognitive Services Containers

Building solutions with machine learning often requires a data scientist. Azure Cognitive Services enable organizations to take advantage of AI with developers, without requiring a data scientist. We do this by taking the machine learning models and the pipelines and the infrastructure needed to build a model and packaging it up into a Cognitive Service for vision, speech, search, text processing, language understanding, and more. This makes it possible for anyone who can write a program, to now use machine learning to improve an application. However, many enterprises still face challenges building large-scale AI systems. Today Microsoft announced container support for Cognitive Services, making it significantly easier for developers to build ML-driven solutions.

Microsoft got the following Containers :

  • Text Analytics Containers
  • Face Container
  • Recognize Text Container

More information from Director of Program Management Applied AI Lance Olson here

Start with Installing and running Containers

Request access to the private container registry

You must first complete and submit the Cognitive Services Vision Containers Request form to request access to the Face container. The form requests information about you, your company, and the user scenario for which you’ll use the container. Once submitted, the Azure Cognitive Services team reviews the form to ensure that you meet the criteria for access to the private container registry.

Important !

You must use an email address associated with either a Microsoft Account (MSA) or Azure Active Directory (Azure AD) account in the form. If your request is approved, you then receive an email with instructions describing how to obtain your credentials and access the private container registry.

Read more about installing the Containers here

The Face container uses a common configuration framework, so that you can easily configure and manage storage, logging and telemetry, and security settings for your containers.
Configuration settings
Configuration settings in the Face container are hierarchical, and all containers use a shared hierarchy, based on the following top-level structure:

  • ApiKey
  • ApplicationInsights
  • Authentication
  • Billing
  • CloudAI
  • Eula
  • Fluentd
  • Logging
  • Mounts

Read more here about Configuring the Containers

Follow Containers in the Cloud Community Group

 


Leave a comment

Upgrading Azure #Kubernetes Cluster and Set #Azure monitor Alerts on #AKS


Current version of Kubernetes on Microsoft Azure.

Upgrading Microsoft Azure Kubernetes Services

Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. As a hosted Kubernetes service, Azure handles critical tasks like health monitoring and maintenance for you. In addition, the service is free, you only pay for the agent nodes within your clusters, not for the masters.

AKS clusters support Role-Based Access Control (RBAC). An AKS cluster can also be configured to integrate with Azure Active Directory. In this configuration, Kubernetes access can be configured based on Azure Active Directory identity and group membership.
For more information, see, Integrate Azure Active Directory with AKS.

From here I will do a step-by-step Upgrade of a Microsoft Azure Kubernetes Cluster to a newer version and set Azure Monitor alert rule active for the future to get an Alert notification when a colleague is upgrading the AKS Services.

Here you see all the newer versions of Kubernetes.

Upgrading to version 1.11.1 of Kubernetes.

IMPORTANT NOTE :

When upgrading an AKS cluster, Kubernetes minor versions cannot be skipped. For example, upgrades between 1.8.x -> 1.9.x or 1.9.x -> 1.10.x are allowed, however 1.8 -> 1.10 is not. To upgrade, from 1.8 -> 1.10, you need to upgrade first from 1.8 -> 1.9 and then another do another upgrade from 1.9 -> 1.10

KubeCluster Activity Log

At the green arrow on this picture you can download the activities into CSV file. At the Red arrow you see the User ID who initiated the Upgrade of the Kubernetes Cluster. This is important information for Azure Alert monitoring.

10 minutes later Kubernetes Cluster is Upgraded to version 1.11.1

Upgrade is done.

We now do a minor Upgrade of Kubernetes from version 1.11.1 to 1.11.2 to get the newest version on Azure.
Click on 1.11.2 version and hit Save.

 

Microsoft Azure Monitoring Alerts

When you click on the second activity of the Upgrade you see at arrow 2 that you can add an Activity Log Alert by Azure monitoring.

Creating Rule Alerts.

  1. Define Alert condition is already set. We want an Alert notification on Upgrading KubeCluster.
  2. Define Alert details, must be set.
  3. Define Action Group, must be set to create the Alert Rule.

2. Define the Alert Details.

3. Define Action Group : Click on + New Action Group

Click on OK

Created Action Group name AKSAdmins

An action group is a collection of notification preferences defined by the user. Azure Monitor and Service Health alerts are configured to use a specific action group when the alert is triggered. Various alerts may use the same action group or different action groups depending on the user’s requirements.

More information on Creating and managing action groups in the Azure portal can be found here

For information on how to use Azure Resource Manager templates to configure action groups, see Action group Resource Manager templates.

 

From here you can Create the Alert Rule and make it Active.

Azure Monitor Alerts with one rule Enabled.

Here is our Active KubeCluster Alert Rule.

Now we will get a notification when a Colleague is Upgrading our KubeCluster in the Future 😉

KubeCluster is now running the latest available version of Kubernetes.

Kubernetes Cluster nodes are Healthy and running version 1.11.2

Here you see in the Kubernetes Dashboard the Node version of Kubernetes.

For Developers and DevOps it’s Great to work with Microsoft Visual Studio Code and the Azure Kubernetes Services (AKS) to work in a CI/CD Pipeline, to create continuous business applications in the Cloud.

Here is my Azure KubeCluster running in Visual Studio Code 🙂

And at last, most important thing is that my Application is running on my Azure Kubernetes Cluster for the Business My Test Site.

Hope this blogpost is useful for you and your business to manage your AKS Cluster in the Microsoft Cloud.

More information About Azure Kubernetes Service (AKS) :

 Upgrade an Azure Kubernetes Service (AKS) cluster via Azure CLI

Azure Kubernetes Service (AKS) Docs

Monitor Azure Kubernetes Service (AKS) container health (preview)

Microsoft Azure Kubernetes Services website Start Free here

Follow Containers in the Cloud Community Group on LinkedIn


Leave a comment

Scale and Upgrade your Azure Kubernetes Cluster #AKS #Containers #Azure #Kubernetes #DevOps #Cloud


I start with a 2 Node Kubernetes Cluster.

Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. As a hosted Kubernetes service, Azure handles critical tasks like health monitoring and maintenance for you. In addition, the service is free, you only pay for the agent nodes within your clusters, not for the masters.

When you have a Web App like Joomla CMS running on Microsoft Azure Kubernetes Services (AKS) and you need more capacity or performance, you can really easy Scale-Up and Scale-Down when needed. It is easy to scale an AKS cluster to a different number of nodes. Select the desired number of nodes and run the az aks scale command. When scaling down, nodes will be carefully cordoned and drained to minimize disruption to running applications. When scaling up, the az command waits until nodes are marked Ready by the Kubernetes cluster.

Scaling your Azure Kubernetes Cluster (AKS)

In the following step-by-step guide I’m scaling my AKS Cluster from 2 nodes to 4 node Kubernetes Cluster :

Here you can scale your Cluster to the right Size
Click on Save to execute.

One AKS Cluster can Scale-Up to 100 vCPU’s and 350 GB of Memory 😉

It’s updating now my 2 Node AKS Cluster to 4 Nodes.
( wait a couple of minutes )

Done !

In Visual Studio Code a got 4 Nodes

In the AKS Cluster Health Monitor you see the Update of the Config.

When you open the Kubernetes Dashboard you see the load on the 4 Nodes.

When you don’t need a 4 Node Cluster performance and/or capacity any more because of the workload, you can scale your Cluster back to 2 Node Cluster for example.

Scaling down to 2 Node AKS Cluster.

Back to 2 Node Azure Kubernetes Cluster.

Just Refresh in Visual Studio Code
2 Node Cluster Again.

And my Joomla CMS Web App is running on 2 Node AKS Cluster.

This was Scaling your Microsoft Azure Kubernetes Cluster (AKS), the Next step-by-step guide I’m Upgrading my Azure Kubernetes Cluster (AKS) to a New version.

Upgrading your Azure Kubernetes Cluster (AKS)

My Current version of AKS is 1.10.5

I’m Upgrading to Kubernetes version 1.10.6
Click on Save to Execute.

After +/- 10 minutes my AKS Cluster was Up-to-Date.

with kubectl version you see the Changes in Visual Studio Code (VSC)


And of course you get notified by the Azure Portal when your Upgrade is Done 🙂

When you like to work from Azure CLI or Cloudshell or VSC you can Upgrade your Kubernetes Cluster from here

More information about Azure Kubernetes Services (AKS) :

Kubernetes versions on GitHub

Kubernetes Documentation

Microsoft Azure AKS Docs

Hope this easy Quick Step-by-Step Guides are helpful for you and your Business.


Leave a comment

Installing Joomla Web App on your #Azure Kubernetes Cluster #AKS #Containers #DevOps

When you have your Microsoft Azure Kubernetes Cluster (AKS) created and running in the Cloud you want to run some pods (Containers) for your Business Solution. In the Next steps I created a Joomla CMS Web App on my Kubernetes Cluster in Microsoft Azure by playing with some tooling.

First I installed Chocolatey via Powershell in the Administrator modus :

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

With Chocolatey v0.10.11 I installed Helm on my Windows10 Surface by typing :

Choco install kubernetes-helm

Type helm init

Here you find the Helm QuickStart Guide for your commands on your Azure Kubernetes Cluster

Type : helm repo update

This will update your stable repository packages

With the following command I installed Joomla CMS on my Azure Kubernetes Cluster (AKS) :

helm install stable/joomla  ( In Powershell )

When you have Visual Studio Code installed with the Kubernetes Extension you can manage your Joomla
web application for Content Management.

Here you can inside the Pods (Containers) via terminal

But most important is that your workload ( Joomla CMS Web App ) is running in the Cloud on a Scalable Azure Kubernetes Cluster for the Business.

Hope this Quick Guide is helpful for you and your Business.

More information :

Microsoft Azure Kubernetes Services (AKS) docs


Leave a comment

Create #Azure Kubernetes Cluster and Manage in Visual Studio Code #VSC #Kubernetes #Cloud


In this Step-by-Step Guide we will Create a Microsoft Azure Kubernetes Cluster (AKS) and add it to Microsoft Visual Studio Code to manage and use it.

This time I have created the Kubernetes Cluster via the Azure Portal, when you don’t have an Azure Subscription you can start here 

Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. As a hosted Kubernetes service, Azure handles critical tasks like health monitoring and maintenance for you. In addition, the service is free, you only pay for the agent nodes within your clusters, not for the masters.

You can of course also Create your Azure Kubernetes Cluster via Azure CLI in Cloudshell.

Here you see the steps from the Azure Portal to Create your Azure Kubernetes Cluster :

Fill in the Basics and Click on Authentication tab

Here you have your SPN and you can manage RBAC.
go to Networking TAB.

Network Settings, keep http application routing on yes.

Click on Monitoring TAB.

Azure Monitoring settings.

Review + Create will Validate your Configuration.

Click on Create.

It’s Deploying the Azure Kubernetes Cluster.

Here you find the Overview of your AKS Cluster in the Azure Portal.

Your Microsoft Azure Kubernetes Cluster is now running by Default with Azure monitoring enabled, and I like to have it in Microsoft Visual Studio Code.

Install the latest Azure CLI 2.0 version
(You need version 2.0.27 or higher)

my version of Azure CLI is 2.0.41

In the Next Visual Studio Code steps I’m already logged-in my Azure Subscription.

When you have Microsoft Visual Studio Code installed with the Kubernetes Extension you can Create or add Existing Cluster to VSC.

Choose Cluster type Azure Kubernetes Service

Choose the right Azure Subscription.

Here you will see your Azure Kubernetes Cluster
KubeCluster in my Azure Subscription

Now you Azure Kubernetes Cluster (AKS) is added to VSC 😉

When you right click on your Kubernetes Cluster you can open Dashboard.

Here you see my two-nodes in Kubernetes Dashboard.

Status of one Kubernetes node.

Here you see the pods (Containers) and also the Azure Monitoring Agent.

Now you can install or Build your solution on your Azure Kubernetes Cluster (AKS).

Monitoring and managing your AKS solution is important to see what is going on. That’s why the Azure Monitoring Agent is on by Default.

Here you see my Container Monitoring Solution for all my Containers.
( Azure AKS and Docker containers on-premises )

What is NEW and AWESOME is Azure Monitoring – Container Health Services.

Health Overview of your AKS Cluster

Health overview of your AKS Nodes

Health Overview of your AKS Controllers

For Troubleshooting you can use the Azure logs of your solution and query what is wrong.

And Scaling your AKS Cluster is Never been Easier then this 🙂

Hope this Step-by-Step Guide is useful for you and your Business to start with Containerize your Apps in the Cloud

JOIN Containers in the Cloud Community Group