From 92bc22b84046a4595d3f2a674cc0286b37ff4788 Mon Sep 17 00:00:00 2001
From: Giorgos Bamparopoulos
Date: Thu, 19 Dec 2024 11:07:11 +0000
Subject: [PATCH] Update the annotation step in the OTel Kubernetes flow
(#204260)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## 📓 Summary
Updates the third optional step in the OpenTelemetry flow for Kubernetes
according to the latest designs. It splits the guidelines by providing
instructions to annotate specific pods as well as all the resources in
the namespace.
## Before
## After
### Amsterdam
### Amsterdam (Dark mode)
### Borealis
Closes https://github.com/elastic/kibana/issues/201130
---------
Co-authored-by: Elastic Machine
Co-authored-by: Mike Birnstiehl <114418652+mdbirnstiehl@users.noreply.github.com>
---
.../otel_kubernetes/otel_kubernetes_panel.tsx | 77 ++++++++++++++-----
1 file changed, 59 insertions(+), 18 deletions(-)
diff --git a/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/otel_kubernetes/otel_kubernetes_panel.tsx b/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/otel_kubernetes/otel_kubernetes_panel.tsx
index 942cecb13aeeb..cf7fd341a1cab 100644
--- a/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/otel_kubernetes/otel_kubernetes_panel.tsx
+++ b/x-pack/plugins/observability_solution/observability_onboarding/public/application/quickstart_flows/otel_kubernetes/otel_kubernetes_panel.tsx
@@ -18,11 +18,14 @@ import {
EuiFlexGroup,
EuiFlexItem,
EuiButtonEmpty,
+ EuiAccordion,
+ useEuiTheme,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { useKibana } from '@kbn/kibana-react-plugin/public';
import { FormattedMessage } from '@kbn/i18n-react';
import { DASHBOARD_APP_LOCATOR } from '@kbn/deeplinks-analytics';
+import { css } from '@emotion/react';
import { EmptyPrompt } from '../shared/empty_prompt';
import { GetStartedPanel } from '../shared/get_started_panel';
import { FeedbackButtons } from '../shared/feedback_buttons';
@@ -44,6 +47,7 @@ export const OtelKubernetesPanel: React.FC = () => {
} = useKibana();
const apmLocator = share.url.locators.get('APM_LOCATOR');
const dashboardLocator = share.url.locators.get(DASHBOARD_APP_LOCATOR);
+ const theme = useEuiTheme();
if (error) {
return (
@@ -187,7 +191,7 @@ helm install opentelemetry-kube-stack open-telemetry/opentelemetry-kube-stack \\
'xpack.observability_onboarding.otelKubernetesPanel.theOperatorAutomatesTheLabel',
{
defaultMessage:
- 'Enable automatic instrumentation for your applications by annotating the pods template (spec.template.metadata.annotations) in your Deployment or relevant workload object (StatefulSet, Job, CronJob, etc.)',
+ 'The Operator automates the injection of auto-instrumentation libraries into the annotated pods for some languages.',
}
)}
@@ -225,9 +229,27 @@ helm install opentelemetry-kube-stack open-telemetry/opentelemetry-kube-stack \\
]}
/>
-
- {`# To annotate specific deployment Pods modify its manifest
-apiVersion: apps/v1
+
+ {i18n.translate(
+ 'xpack.observability_onboarding.otelKubernetesPanel.step3a.title',
+ { defaultMessage: '3(a) - Start with one of these annotations methods:' }
+ )}
+
+
+
+
+ {`apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
@@ -242,24 +264,43 @@ spec:
containers:
- image: myapplication-image
name: app
- ...
-
-# To annotate all resources in a namespace
-kubectl annotate namespace my-namespace instrumentation.opentelemetry.io/inject-${idSelected}="${namespace}/elastic-instrumentation"
-
-# Restart your deployment
-kubectl rollout restart deployment myapp -n my-namespace
+ ...`}
+
+
+
+
+
+ {`kubectl annotate namespace my-namespace instrumentation.opentelemetry.io/inject-${idSelected}="${namespace}/elastic-instrumentation"`}
+
+
+
+
+ {i18n.translate(
+ 'xpack.observability_onboarding.otelKubernetesPanel.step3b.title',
+ {
+ defaultMessage:
+ '3(b) - Restart deployment and ensure the annotations are applied and the auto-instrumentation library is injected:',
+ }
+ )}
+
+
+
+ {`kubectl rollout restart deployment myapp -n my-namespace
-# Check annotations have been applied correctly and auto-instrumentation library is injected
kubectl describe pod -n my-namespace`}
-
-