Implementar OBI en Kubernetes con Helm
The content of this page may be outdated and some links may be invalid.
A newer version of this page exists in
English. To see the changes to the English page since this page was last updated: visit
GitHub compare f7cb8b65..8304a456
and search for More information ...
content/en/docs/zero-code/obi/setup/kubernetes-helm.md
.
Para obtener más detalles sobre las diversas opciones de configuración de Helm, consulta el documentoOpciones del gráfico Helm de OBI.
Contenido:
- Implementación de OBI desde Helm {#deploying-obi-from-helm}
- Configuración de OBI {#configuring-obi}
- Configuración de los metadatos de OBI {#configuring-obi-metadata}
- Proporcionar secretos a la configuración de Helm {#providing-secrets-to-helm-configuration}
Implementación de OBI desde Helm
En primer lugar, debes agregar el repositorio de OpenTelemetry Helm a Helm:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
El siguiente comando implementa un DaemonSet de OBI con una configuración
predeterminada en el namespace obi
:
helm install obi -n obi --create-namespace open-telemetry/opentelemetry-ebpf-instrumentation
La configuración predeterminada de OBI:
- exporta las métricas como métricas de Prometheus en el puerto HTTP del pod
9090
, ruta/metrics
. - intenta instrumentar todas las aplicaciones de su clúster.
- solo proporciona métricas a nivel de aplicación y excluye las métricas a nivel de red de forma predeterminada.
- configura OBI para decorar las métricas con etiquetas de metadatos de
Kubernetes, por ejemplo
k8s.namespace.name
ok8s.pod.name
Configuración de OBI
Es posible que desees anular la configuración predeterminada de OBI. Por ejemplo, para exportar las métricas y/o los intervalos como OpenTelemetry en lugar de Prometheus, o para restringir el número de servicios que se van a instrumentar.
Puedes anular las opciones de configuración predeterminadas de OBI con sus propios valores.
Por ejemplo, cree un archivo helm-obi.yml
con una configuración personalizada:
config:
data:
# Contents of the actual OBI configuration file
discovery:
instrument:
- k8s_namespace: demo
- k8s_namespace: blog
routes:
unmatched: heuristic
La sección config.data
contiene un archivo de configuración OBI, documentado
en la
documentación de opciones de configuración OBI.
A continuación, pasa la configuración sobrescrita al comando helm
con el
indicador -f
. Por ejemplo:
helm install obi open-telemetry/opentelemetry-ebpf-instrumentation -f helm-obi.yml
o, si el gráfico OBI fue implementado previamente:
helm upgrade obi open-telemetry/opentelemetry-ebpf-instrumentation -f helm-obi.yml
Configuración de los metadatos de OBI
Si OBI exporta los datos utilizando el exportador Prometheus, es posible que
tengas que anular las anotaciones del pod OBI para que su rastreador Prometheus
pueda detectarlo. Puedes añadir la siguiente sección al archivo de ejemplo
helm-obi.yml
:
podAnnotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics'
prometheus.io/port: '9090'
Análogamente, el gráfico Helm permite anular nombres, etiquetas y anotaciones para múltiples recursos involucrados en la implementación de OBI, tales como cuentas de servicio, roles de clúster, contextos de seguridad, etc. La documentación del gráfico Helm de OBI describe las diversas opciones de configuración.
Proporcionar secretos a la configuración de Helm
Si envías directamente las métricas y los rastros a su backend de observabilidad
a través del punto final de OpenTelemetry, es posible que debas proporcionar
credenciales a través de la variable de entorno OTEL_EXPORTER_OTLP_HEADERS
.
Lo recomendable es almacenar dicho valor en un Kubernetes Secret y, a continuación, especificar la variable de entorno que hace referencia a él desde la configuración de Helm.
Por ejemplo, implementa el siguiente secreto:
apiVersion: v1
kind: Secret
metadata:
name: obi-secret
type: Opaque
stringData:
otlp-headers: 'Authorization=Basic ....'
Luego, hacer referencia a él desde el archivo helm-config.yml
en la sección
envValueFrom
:
env:
OTEL_EXPORTER_OTLP_ENDPOINT: '<...your OTLP endpoint URL...>'
envValueFrom:
OTEL_EXPORTER_OTLP_HEADERS:
secretKeyRef:
key: otlp-headers
name: obi-secret
Comentarios
¿Fue útil esta página?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!