This blog post has been co-authored by Microsoft and Venkat Gandhari from New Relic
As containerization gains popularity in the world of application deployment, Kubernetes has emerged as a leading container orchestration platform. While Kubernetes provides robust management capabilities for containers, effectively monitoring and gaining insights into the performance of Windows containers in a Kubernetes environment can be a complex task. This is where New Relic, a renowned observability platform, comes into play.
In this blog post, we will explore how New Relic can help streamline the instrumentation of Windows containers in Kubernetes, enabling you to gain valuable insights into the health and performance of your applications.
Understanding the Challenges
Monitoring Windows containers in a Kubernetes environment introduces specific challenges. Unlike Linux containers, Windows containers have different architectural elements and monitoring requirements. Some of the challenges include:
- Limited observability: Native tools for monitoring Windows containers may not provide comprehensive visibility into the containerized applications, making it difficult to identify performance bottlenecks or troubleshoot issues effectively.
- Complexity in configuration: Configuring and managing monitoring solutions for Windows containers can be intricate due to the differences in architecture and behavior compared to Linux containers. A robust monitoring tool must cater to these nuances.
Leveraging New Relic for Windows Container on AKS instrumentation:
New Relic offers a suite of tools and features that help address the challenges associated with monitoring Windows containers in a Kubernetes environment. Let's explore some of the key capabilities:
- Container-centric visibility: New Relic provides a container-centric approach to monitoring, enabling you to gain real-time insights into the performance and behavior of Windows containers. It collects data on container resource usage, network traffic, and application-level metrics, helping you understand the health of your containerized applications.
- Automatic instrumentation: New Relic's instrumentation agents for Windows containers automatically discover and instrument your applications without requiring manual configuration. This feature greatly simplifies the process of deploying and monitoring your applications, saving time and effort.
- Performance monitoring: New Relic offers comprehensive performance monitoring capabilities, including metrics for CPU, memory, disk I/O, and network traffic. These insights allow you to identify performance bottlenecks and optimize resource allocation for Windows containers.
- Scalability and alerting: New Relic's scalable architecture ensures it can handle large-scale Kubernetes deployments, collecting and analyzing data from numerous Windows containers. You can set up custom alerts based on predefined thresholds, allowing you to proactively detect and respond to performance anomalies.
- Visualization and analytics: New Relic provides intuitive dashboards and visualizations that help you understand the performance trends of your Windows containers. It offers powerful analytics capabilities, allowing you to analyze historical data, identify patterns, and make informed decisions about capacity planning and optimization.
Install New Relic Kubernetes integration (version 2) in Windows:
Before proceeding to next steps, Connect to your AKS cluster.
Once you connect to your AKS cluster, you can install the Kubernetes integration for Windows using Helm:
helm repo add newrelic https://helm-charts.newrelic.com
Create a namespace for newrelic:
kubectl create namespace newrelic
Install kube-state-metrics:
helm repo add ksm https://kubernetes.github.io/kube-state-metrics
helm install ksm ksm/kube-state-metrics --version 2.13.2
Create the aks_newrelic.yml file with the follow data to be used by Helm:
---
global:
licenseKey: New_Relic_License_Key # This is the License Key
cluster: AKS_Cluster_Name # Name of the AKS cluster
enableLinux: true
enableWindows: true
windowsOsList:
- version: 2019
imageTag: 2-windows-1809-alpha
buildNumber: 10.0.17763
- version: 20h2
imageTag: 2-windows-20H2-alpha
buildNumber: 10.0.19042
- version: 2022
imageTag: 2-windows-ltsc2022-alpha
buildNumber: 10.0.20348
nodeSelector:
kubernetes.io/os: linux
windowsNodeSelector:
kubernetes.io/os: windows # required
Install the integration:
helm upgrade --install newrelic newrelic/newrelic-infrastructure \
--namespace newrelic --create-namespace --version 2.7.2 -f aks_newrelic.yml
Check that pods are being deployed and reach a stable state:
kubectl -n newrelic get pods -w
After the above steps are completed successfully, you can login to New Relic portal and navigate to Infrastructure > Kubernetes > Clusters:
Conclusion
Monitoring and gaining insights into the performance of Windows containers in a Kubernetes environment is vital for maintaining the health and stability of your applications. New Relic's robust instrumentation capabilities and comprehensive observability features offer a reliable solution for monitoring Windows containers in Kubernetes deployments. By leveraging New Relic, you can effectively monitor resource utilization, detect performance issues, and optimize your Windows containerized applications for enhanced efficiency and reliability. Stay ahead of the game with New Relic's powerful observability platform and ensure the success of your Kubernetes-based Windows container deployments.
For more details, refer to Install Kubernetes integration version 2 in Windows.
Updated Jul 11, 2023
Version 2.0ViniciusApolinario
Microsoft
Joined October 26, 2016
Containers
Follow this blog board to get notified when there's new activity