Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[kubernetes] Create basic outline for Kubernetes #3027

Merged
merged 8 commits into from
Jul 14, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions content/en/blog/2023/end-user-q-and-a-03.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ others are still instrumented using the [legacy OpenTracing
[using shims](/docs/migration/opentracing/).

The OpenTelemetry Operator is being implemented to auto-instrument Java and .NET
code. Among other things, the [OTel Operator](/docs/k8s-operator/) supports
injecting and
[configuring auto-instrumentation](/docs/k8s-operator/automatic/#configure-automatic-instrumentation)
code. Among other things, the [OTel Operator](/docs/kubernetes/operator/)
supports injecting and
[configuring auto-instrumentation](/docs/kubernetes/operator/automatic/#configure-automatic-instrumentation)
in .NET, Java, Python, and Node.js. Iris hopes that Go auto-instrumentation will
be available in the near-future. To track progress of auto-instrumentation in
Go, see
Expand Down Expand Up @@ -255,8 +255,8 @@ would be a bottleneck in terms of load and single point of failure. The team
currently has one
[OpenTelemetry Collector agent](/docs/collector/deployment/agent/) per
Kubernetes cluster. The end goal is to replace those agents with the
[OTel Operator](/docs/k8s-operator/) instead, which allows you to deploy and
configure the OTel Collector and inject and configure auto-instrumentation.
[OTel Operator](/docs/kubernetes/operator/) instead, which allows you to deploy
and configure the OTel Collector and inject and configure auto-instrumentation.

Everything is then sent to a central OTel Collector (i.e. an
[OTel Collector gateway](/docs/collector/deployment/gateway/)) per data center,
Expand Down
7 changes: 4 additions & 3 deletions content/en/docs/collector/scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,10 @@ load balancer. Using a Sidecar also makes sense to avoid bringing down a crucial
component for all pods in a node when one DaemonSet pod fails.

The sidecar pattern consists in adding a container into the workload pod. The
[OpenTelemetry Operator](/docs/k8s-operator/) can automatically add that for
you. To accomplish that, you’ll need an OpenTelemetry Collector CR and you’ll
need to annotate your PodSpec or Pod telling the operator to inject a sidecar:
[OpenTelemetry Operator](/docs/kubernetes/operator/) can automatically add that
for you. To accomplish that, you’ll need an OpenTelemetry Collector CR and
you’ll need to annotate your PodSpec or Pod telling the operator to inject a
sidecar:

```yaml
---
Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/concepts/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ The OpenTelemetry Operator is an implementation of a Kubernetes Operator. The
operator manages the OpenTelemetry Collector and auto-instrumentation of the
workloads using OpenTelemetry.

For more information, see [K8s Operator](/docs/k8s-operator/).
For more information, see [K8s Operator](/docs/kubernetes/operator/).

## Function as a Service assets

Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/getting-started/ops.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ following:
- [What is OpenTelemetry?](/docs/what-is-opentelemetry/)
- [How can I instrument applications without touching their code?](/docs/concepts/instrumentation/automatic/)
- [How can I set up a collector?](/docs/collector/)
- [How can I get automation for Kubernetes with the OpenTelemetry Operator?](/docs/k8s-operator/)
- [How can I get automation for Kubernetes with the OpenTelemetry Operator?](/docs/kubernetes/operator/)

If you are looking for a set of applications to try things out, you will find
our official [OpenTelemetry demo](/ecosystem/demo/) useful!
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ If you run your Python service in Kubernetes, you can take advantage of the
[OpenTelemetry Operator](https://github.com/open-telemetry/opentelemetry-operator)
to inject auto-instrumentation without having to modify each of your services
directly.
[See the OpenTelemetry Operator Auto-instrumentation docs for more details.](/docs/k8s-operator/automatic/)
[See the OpenTelemetry Operator Auto-instrumentation docs for more details.](/docs/kubernetes/operator/automatic/)
14 changes: 14 additions & 0 deletions content/en/docs/kubernetes/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: OpenTelemetry with Kubernetes
linkTitle: Kubernetes
weight: 11
description: Using OpenTelemetry with Kubernetes
---

## Introduction

[Kubernetes](https://kubernetes.io/) is an open source system for automating
deployment, scaling, and management of containerized applications. It has become
a widely-adopted, industry tool, leading to an increased need for observability
tooling. In response, OpenTelemetry has created many different tools to help
Kubernetes users observe their clusters and services.
25 changes: 25 additions & 0 deletions content/en/docs/kubernetes/collector.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: OpenTelemetry Collector and Kubernetes
linkTitle: Collector
spelling:
cSpell:ignore filelogreceiver hostmetricsreceiver kubeletstatsreceiver
k8sobjectsreceiver k8sclusterreceiver k8sattributesprocessor
TylerHelmuth marked this conversation as resolved.
Show resolved Hide resolved
---

## Introduction

The [OpenTelemetry Collector](/docs/collector) can be used to monitor Kubernetes
using combinations of different components:

- [filelogreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver):
Scrapes all the logs your cluster produces.
- [hostmetricsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/hostmetricsreceiver):
Scrapes the cpu, memory, process, etc. stats of your nodes.
- [kubeletstatsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/kubeletstatsreceiver):
Scrapes metrics from kubelets, such as the pod memory or cpu usage.
- [k8sobjectsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sobjectsreceiver):
Collects objects, such as events, from the Kubernetes API server.
- [k8sclusterreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/k8sclusterreceiver):
Collects cluster-level metrics, such as container restarts.
- [k8sattributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor):
Enhances traces, metrics, and logs with Kubernetes metadata.
20 changes: 20 additions & 0 deletions content/en/docs/kubernetes/helm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: OpenTelemetry Helm Charts
linkTitle: Helm Charts
---

## Introduction

[Helm](https://helm.sh/) is a CLI solution for managing Kubernetes applications.

If you chose to use Helm, you can use
[OpenTelemetry Helm Charts](https://github.com/open-telemetry/opentelemetry-helm-charts)
to manage installs of the [OpenTelemetry Collector](/docs/collector),
[OpenTelemetry Operator](/docs/kubernetes/operator), and
[OpenTelemetry Demo](/docs/demo).

Add OpenTelemetry Helm repository:

```
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
```
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
title: OpenTelemetry Operator for Kubernetes
linkTitle: K8s Operator
weight: 11
linkTitle: Kubernetes Operator
description:
An implementation of a Kubernetes Operator, that manages collectors and
auto-instrumentation of the workload using OpenTelemetry instrumentation
libraries.
spelling: cSpell:ignore Otel
aliases: [/docs/operator]
aliases:
- /docs/operator
- /docs/k8s-operator
- /docs/kubernetes-operator
---

## Introduction
Expand Down
13 changes: 13 additions & 0 deletions content/en/docs/kubernetes/operator/target-allocator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Target Allocator
description:
A tool to distribute targets of the PrometheusReceiver on all deployed
Collector instances
---

## Introduction

The OpenTelemetry Operator comes with an optional component, the Target
Allocator (TA). Currently you can find the documentation for these in the
section
[Target Allocator in the OpenTelemetry Operator README.md](https://github.com/open-telemetry/opentelemetry-operator#target-allocator).
2 changes: 1 addition & 1 deletion content/en/docs/what-is-opentelemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ OpenTelemetry consists of the following major components:
- The [OpenTelemetry Collector](/docs/collector), a proxy that receives,
processes, and exports telemetry data
- Various other tools, such as the
[OpenTelemetry Operator for Kubernetes](/docs/k8s-operator/)
[OpenTelemetry Operator for Kubernetes](/docs/kubernetes/operator/)

OpenTelemetry is compatible with a wide variety of open source
[ecosystem integrations](/ecosystem/integrations/).
Expand Down
4 changes: 4 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -3143,6 +3143,10 @@
"StatusCode": 206,
"LastSeen": "2023-06-29T16:04:48.516571-04:00"
},
"https://helm.sh/": {
"StatusCode": 206,
"LastSeen": "2023-07-14T11:35:07.553343-06:00"
},
"https://helm.sh/docs/": {
"StatusCode": 206,
"LastSeen": "2023-06-29T16:04:53.616666-04:00"
Expand Down