Skip to content

Commit

Permalink
Merge pull request #14504 from newrelic/fix-k8s-nav
Browse files Browse the repository at this point in the history
feat(tutorials): k8 iteration
  • Loading branch information
bradleycamacho authored Sep 11, 2023
2 parents 6d0b06e + fd373b7 commit 6f9ce7c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
18 changes: 11 additions & 7 deletions src/content/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import apmApmCompleteSummaryPage from 'images/apm_screenshot-full_apm-complete-s
import infraComplete from 'images/infrastructure_screenshot-full_infra-main.webp'


A Kubernetes system is inherently complex and has a reputation as challenging to grasp. Understanding Kubernetes as a concept is a complex task by itself and wanting to understand an specific Kubernetes system only adds more complexity. How do you troubleshoot ephemeral containers that spin up and down before you can even access them? How do you understand the health of your system as a whole if you have hundreds of containers orchestrated at a time? How do you parse out the intricate systems into functional layers?
A Kubernetes system is inherently complex and has a reputation as challenging to grasp. Understanding Kubernetes as a concept is a complex task by itself and wanting to understand a specific Kubernetes system only adds more complexity. How do you troubleshoot ephemeral containers that spin up and down before you can access them? How do you understand the health of your system as a whole if you have hundreds of containers orchestrated at a time? How do you parse out the intricate systems into functional layers?

In this tutorial series, you will learn how to monitor your Kubernetes system with New Relic and how it can streamline your understanding of the Kubernetes as a whole.
In this tutorial series, you will learn how to monitor your Kubernetes system with New Relic and how it can streamline your understanding of the Kubernetes as a whole.

<img
title="New Relic navigator"
Expand All @@ -38,7 +38,7 @@ To begin, you need to set up New Relic with your Kubernetes system. The steps be
src={tutorialInstall}
/>

The New Relic Kubernetes integration gives you full observability into the health and performance of your environment. With the data it provides, you can monitor the health of your entire Kubernetes cluster or drill down to a single pod. This agent collects telemetry data from your cluster using several New Relic integrations such as the Kubernetes events integration, the Prometheus Agent, and the New Relic Logs Kubernetes plugin.
The New Relic Kubernetes integration gives you full observability into the health and performance of your environment. With the data it provides, you can monitor the health of your entire Kubernetes cluster, check individual pods, or drill into specific services and applications. This agent collects telemetry data from your cluster using several New Relic integrations such as the Kubernetes events integration, the Prometheus Agent, and the New Relic Logs Kubernetes plugin.

There are various ways to integrate your Kubernetes system. For this tutorial series, we highly recommend using the guided install steps below. For other install paths, see [our Kubernetes install docs](/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/).

Expand Down Expand Up @@ -84,13 +84,17 @@ There are various ways to integrate your Kubernetes system. For this tutorial se
</Step>

<Callout variant="tip">
Additionally, you can start monitoring Kubernetes clusters using our Auto-telemetry with Pixie. [Learn more about Auto-telemetry with Pixie here](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/).
Additionally, you can monitor Kubernetes clusters using our Auto-telemetry with Pixie. [Learn more about Auto-telemetry with Pixie here](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/).

This tutorial doesn't cover Pixie concepts, but there are [various other tutorials you can follow](https://docs.px.dev/tutorials/pixie-101/).
</Callout>

<Step>
### Send data from your applications

Kubernetes excels at abstracting the toil one runs into when managing containerized workloads. That abstraction adds complexity when correlating individual applications to their underlying infrastructure. To reduce this complexity, you can report data from your applications and services to New Relic and directly correlate them to their place within the Kubernetes cluster.
Running dozens or hundreds of containers causes toil and difficulty to maintain. Kubernetes abstracts containers into higher level concepts, with the cluster as the highest level. This abstraction helps you understand your cluster as a whole, but makes it difficult to understand what is happening at an application level.

To reduce this complexity, you can report data from your containerzied applications to New Relic. This not only allows you to see the health of your applications, but also lets you correlate application data to the underlying Kubernetes infrastructure.

<img
title="apm summary page"
Expand Down Expand Up @@ -126,14 +130,14 @@ To correlate your data, see our doc on [monitoring services in Kubernetes](/docs
src={k8sNavigatorAnimation}
/>

To confirm you're sending all your Kubernetes related data to New Relic, explore the Kubernetes charts. Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Kubernetes**. Poke around your data and see if you can get a general sense of the health of your Kubernetes system. Confirm you're seeing data for your entire cluster, individual pods, and any services and applications you expect. Once you're ready, proceed to the next steps.
To confirm you're sending all your Kubernetes related data to New Relic, explore the Kubernetes charts. Go to **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Kubernetes**. Poke around your data and see if you can get a general sense your Kubernetes system's health. Confirm you're seeing data for your entire cluster, individual pods, and any services and applications you expect. Once you're ready, proceed to the next steps.


</Step>
</Steps>
## Next steps

You're now sending Kubernetes data to New Relic! From here you can start using the power of New Relic to gauge the health of your system and understand how it's all working together by following the rest of this tutorial series. Each doc will dive into how New Relic can help monitor and understand an individual layer of Kubernetes.
You're now sending Kubernetes data to New Relic! The next steps in this tutorial will teach you to gauge the health of your system and understand how it's all working together. Each doc will dive into how New Relic can help monitor and understand an individual layer of Kubernetes.

<UserJourneyControls
nextStep={{path: "/docs/tutorial-kubernetes-learn/tutorial-k8s-layers", title: "Next step", body: "Learn about Kubernetes clusters and how to monitor them."}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,21 @@ Let's break a Kubernetes system into distinct layers first.

We'll discuss a Kubernetes system in three key sections.

* **The cluster**: this represents the entire Kubernetes system. The cluster contains multiple deployments, which in turn house many pods. Each pod contains its individual services and applications.
* **The cluster**: this represents the entire Kubernetes system. The cluster contains multiple deployments, which in turn house many pods. Each pod maintians its individual services and applications.

* **The orchestrated**: these are the core elements of a Kubernetes system. Orchestrated components consist of entire deployments that spin pods up and down as needed.

* **The services and applications**: services and applications are the workhorses of the Kubernetes system. Within a Kubernetes system each pod houses one or more services and applications. The services and applications provide the essential functionality that drives the system. This could be computation, a web app, or any other application.
* **The services and applications**: services and applications are the workhorses of the Kubernetes system. Within a Kubernetes system each pod houses one or more services and applications. The services and applications provide the essential functionality that drives the purpose of system. This could be computation, a web app, or any other application.

It's important to note that these sections nest within each other. The cluster contains multiple orchestrated layers, and each orchestrated layer consists of multiple service and application layers.

<Callout variant="important">
There are many ways you can split up a Kubernetes system to understand it; these layers are just one way to think of your system.
There are many ways you can split up a Kubernetes system to understand it; these layers are just one way to think about your system.
</Callout>

## Understand and monitor the cluster layer

In a large Kubernetes system, with numerous deployments and pods, manually monitoring each component becomes impractical. You might be dealing with dozens or hundred of deployments, which in turn means you might have to monitor hundreds or thousands of individual pods. New Relic offers a more efficient approach to oversee the entire system's health and receive timely alerts when issues arise.
In a large Kubernetes system, with numerous deployments and pods, manually monitoring each component becomes impractical. You might be dealing with dozens or hundred of deployments, which in turn means you might have to monitor hundreds or thousands of individual pods, services, and applications. New Relic offers a more efficient approach to oversee the entire system's health and receive timely alerts when issues arise.

The following steps guide your through a general monitoring strategy for your cluster:

Expand All @@ -58,7 +58,7 @@ If you don't see any data, [make sure you set up your monitoring ](/docs/tutoria

### Triage your cluster

The Kubernetes overview dashboard shows your high level data about your cluster. You can find general data such as the count of pods and services, but more importantly you can find data about the health of your cluster such as the percent of pods running, the count of failed pods, the number of container restarts, and more.
The Kubernetes overview dashboard shows your high level data about your cluster. You can find general data such as the count of pods and services. More importantly you can find data about the health of your cluster such as the percentage of pods running, the count of failed pods, the number of container restarts, and more.
<img
title="tutorialOverviewdashboard"
alt="The main overview dashboard for the kubernetes capability"
Expand Down Expand Up @@ -96,17 +96,17 @@ Red tiles are critical alerts. These aren't necessarily failures in your system,
Anomalous spikes in graphs
</td>
<td>
there are various graphs that show things such as pending pods over time or even memory utilization over time.
there are various graphs that show things such as pending pods over time or memory utilization over time.

Spike are fairly normal, such as the spikes in the **Kubernetes Warning Events by Reason** graph in the screenshot above. These spikes happen regularly about every 5 minutes so they are no cause for concern. Look for spikes that happen outside of regular patterns or spike in a much larger magnitude than normal.
Spike are not always cause for concern, such as the spikes in the **Kubernetes Warning Events by Reason** graph in the screenshot above. These spikes happen regularly about every 5 minutes so they don't raise any red flags. Look for spikes that happen outside of regular patterns or spikes in a much larger magnitude than normal.
</td>
</tr>
<tr>
<td>
Node readiness
</td>
<td>
Observe whether nodes in the cluster are ready and able to host pods. Ensure that your cluster's infrastructure is prepared to handle workloads without any bottlenecks.
Observe whether nodes in the cluster are ready and able to host pods. Ensure that your cluster's infrastructure can handle workloads without any bottlenecks.
</td>
</tr>
<tr>
Expand Down
8 changes: 4 additions & 4 deletions src/nav/tutorial-understand-k8s.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
title: Understand and monitor Kubernetes
path: /docs/kubernetes-pixie
pages:
- title: Understand your Kubernetes system
- title: 1. Understand your Kubernetes system
path: /docs/tutorial-kubernetes-learn/tutorial-k8s-intro
- title: Monitor Kubernetes clusters
- title: 2. Monitor Kubernetes clusters
path: /docs/tutorial-kubernetes-learn/tutorial-k8s-layers
- title: Monitor Kubernetes orchestrated components
- title: 3. Monitor Kubernetes orchestrated components
path: /docs/tutorial-kubernetes-learn/tutorial-k8s-orchestrated
- title: Monitor Kubernetes services and apps
- title: 4. Monitor Kubernetes services and apps
path: /docs/tutorial-kubernetes-learn/tutorial-k8s-services

0 comments on commit 6f9ce7c

Please sign in to comment.