- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
",t};e.buildCustomizationMenuUi=t;function n(e){let t='
",t}function s(e){let n=e.filter.currentValue||e.filter.defaultValue,t='${e.filter.label}
`,e.filter.options.forEach(s=>{let o=s.id===n;t+=``}),t+="${e.filter.label}
`,t+=`Your platform may be compatible with Datadog's Single Step Instrumentation, which automatically instruments your services at startup from the Datadog Agent.
Ingress-nginx is a Kubernetes ingress controller that uses nginx as a reverse proxy and load balancer. In a Kubernetes cluster, external access is restricted by default for security reasons. An ingress controller uses rules to control how external traffic may reach your services.
The ingress-nginx controller is managed through Kubernetes resources,
but customization of the underlying nginx configuration is typically limited beyond its intended use case. However, ingress-nginx allows
the addition of extra nginx modules for extended functionality. To take advantage of this feature with nginx-datadog
, we provide init containers.
nginx-datadog
in ingress-nginx?To integrate nginx-datadog
with ingress-nginx, add a Datadog init container to your pod
specification and configure nginx to load the nginx-datadog
module.
The following Helm values demonstrate how to inject the nginx-datadog
module into an ingress-nginx controller:
controller:
config:
main-snippet: "load_module /modules_mount/ngx_http_datadog_module.so;"
opentelemetry:
enabled: false
extraModules:
- name: nginx-datadog
image:
registry: docker.io
image: datadog/ingress-nginx-injection
# The tag should match the version of the ingress-nginx controller
# For example, this will inject the Datadog module for ingress v1.10.0
# Check <https://hub.docker.com/repository/docker/datadog/ingress-nginx-injection/tags>
# for the list of all versions supported.
tag: "v1.10.0"
distroless: false
Check our details examples to help you set up ingress-nginx with nginx-datadog
.
Init containers are special containers that run before the main container in a Kubernetes pod. In this case,
the Datadog init container is responsible for copying the nginx-datadog
module into a shared volume that will be
accessible by the main ingress-nginx container.
When the main ingrees-nginx controller starts, the nginx configuration must be updated with the load_module
directive,
allowing it to load the Datadog module seamlessly.
v1.10.0
. This is crucial because **each** init container must match the underlying nginx version. To ensure compatibility, ensure the version of the Datadog init container matches your ingress-nginx version.By default, ingress-nginx includes an OpenTelemetry (oTel) module that can be enabled using the enable-opentelemetry: true
setting
in the ingress-nginx ConfigMap.
However, if you are using nginx-datadog
for tracing, we recommend disabling OpenTelemetry to prevent duplicate tracing data from both
the oTel and Datadog modules.
To disable OpenTelemetry, set enable-opentelemetry: false
.