Skip to content

Commit bd9c4b5

Browse files
Translation Pipeline PR (#32379)
* Translated file updates * fix error --------- Co-authored-by: webops-guacbot[bot] <214537265+webops-guacbot[bot]@users.noreply.github.com> Co-authored-by: May Lee <[email protected]>
1 parent fdc7f71 commit bd9c4b5

File tree

16 files changed

+1914
-161
lines changed

16 files changed

+1914
-161
lines changed

content/es/agent/troubleshooting/hostname_containers.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
description: Solucionar errores de resolución de nombres de host en implementaciones
3+
en contenedores de Datadog Agent en Kubernetes, Docker, y plataformas en la nube.
24
title: Detección de nombres de host en contenedores
35
---
46

@@ -44,7 +46,7 @@ rules:
4446
- get
4547
```
4648
47-
El error más común que impide la conexión a la API de Kubelet es la verificación del certificado TLS de Kubelet. En muchas distribuciones de Kubernetes el certificado Kubelet o bien:
49+
El error más común que impide la conexión a la API de Kubelet es la verificación del certificado TLS de Kubelet. En muchas distribuciones de Kubernetes, el certificado de Kubelet presenta una de dos limitaciones comunes:
4850
* No está firmado por la CA clúster.
4951
* No contiene un SAN correspondiente a la dirección a la que se puede acceder.
5052
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
title: Automatización de flotas
3+
---

content/es/containers/amazon_ecs/apm.md

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -130,26 +130,11 @@ Actualiza el `entryPoint` de la definición de tareas con lo siguiente, sustituy
130130
```
131131
Para Python, el comando de inicio suele ser `ddtrace-run python my_app.py`, aunque puede variar en función del marco utilizado; por ejemplo, utilizando [uWSGI][1] o instrumentando tu [código manualmente con `patch_all`][2].
132132

133-
#### Código
134-
También puedes actualizar el código para que el rastreador configure el nombre de host explícitamente:
135-
136-
```python
137-
import requests
138-
from ddtrace import tracer
139-
140-
141-
def get_aws_ip():
142-
r = requests.get('http://169.254.169.254/latest/meta-data/local-ipv4')
143-
return r.text
144-
145-
tracer.configure(hostname=get_aws_ip())
146-
```
147-
148133
[1]: https://ddtrace.readthedocs.io/en/stable/advanced_usage.html#uwsgi
149134
[2]: https://ddtrace.readthedocs.io/en/stable/basic_usage.html#patch-all
150135
{{< /programming-lang >}}
151136

152-
{{< programming-lang lang="nodeJS" >}}
137+
{{< programming-lang lenguaje="nodeJS" >}}
153138

154139
#### Variable de momento de inicio
155140
Actualiza el `entryPoint` de la definición de tareas con lo siguiente, sustituyendo tu `<Node.js Startup Command>`:
Lines changed: 297 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,297 @@
1+
---
2+
description: Observabilidad de alto rendimiento para entornos Kubernetes seguros mediante
3+
el controlador CSI de Datadog
4+
further_reading:
5+
- link: https://www.datadoghq.com/blog/datadog-csi-driver/
6+
tag: Blog
7+
text: Llevar la observabilidad de alto rendimiento a entornos Kubernetes seguros
8+
con el controlador CSI de Datadog
9+
title: Controlador CSI de Datadog
10+
---
11+
12+
## Información general
13+
14+
Esta página proporciona información general sobre el controlador CSI de Datadog e instrucciones de instalación en un clúster Kubernetes
15+
16+
Para obtener más información sobre Kubernetes Container Storage Interface (CSI), consulta la [documentación sobre Kubernetes CSI][4].
17+
18+
El controlador CSI de Datadog es [open source][1].
19+
20+
<div class="alert alert-info">
21+
El controlador CSI de Datadog no es compatible con Windows.
22+
</div>
23+
24+
## Cómo funciona
25+
26+
El controlador CSI de Datadog es un DaemonSet que ejecuta un servidor gRPC implementando las especificaciones CSI en cada nodo de tu clúster Kubernetes.
27+
28+
La instalación del controlador CSI de Datadog en un clúster Kubernetes permite utilizar volúmenes CSI especificando el nombre del controlador CSI de Datadog.
29+
30+
El servidor del nodo CSI de Datadog es responsable de gestionar el ciclo de vida de los volúmenes CSI de Datadog.
31+
32+
## ¿Por qué utilizar el controlador CSI de Datadog?
33+
34+
El controlador CSI de Datadog permite al Datadog Agent compartir sockets de dominio Unix de Trace Agent y DogStatsD con pods de usuario independientemente de las [normas de seguridad para pods][4] de los espacios de nombres.
35+
36+
Si no se utilizan volúmenes CSI, los sockets UDS deben compartirse con el pod de usuario a través de volúmenes hostpath. Si el pod de usuario se está ejecutando en un espacio de nombres que tiene normas de seguridad para pods sin privilegios, el pod falla al iniciarse porque los volúmenes hostpath no están permitidos en ese contexto.
37+
38+
El controlador CSI de Datadog desplaza el volumen hostpath de la aplicación de usuario al servidor del nodo CSI: el DaemonSet CSI se ejecuta en un espacio de nombres privilegiado independiente y permite inyectar sockets UDS en pods de usuario con un volumen CSI de Datadog, lo que permite que los pods de usuario se ejecuten en espacios de nombres con normas de seguridad para pods `baseline` o `restricted`.
39+
40+
## Instalación y activación
41+
42+
<div class="alert alert-info">
43+
<strong>Notas</strong>:
44+
<ul>
45+
<li/>Requiere <a href="https://helm.sh">Helm</a>.
46+
<li/>El controlador CSI de Datadog debe ejecutarse con un contexto de seguridad privilegiado. Esto es necesario para que el controlador CSI de Datadog pueda montar volúmenes desde el sistema de archivos host a los pods de usuario.
47+
</ul>
48+
</div>
49+
50+
{{< tabs >}}
51+
52+
{{% tab "Helm" %}}
53+
54+
Para instalar y activar el controlador CSI de Datadog, configura `datadog.csi.enabled` como `true` en el Helm chart del Datadog Agent.
55+
56+
```shell
57+
helm repo add datadog https://helm.datadoghq.com
58+
helm repo update
59+
60+
helm install datadog-agent datadog/datadog --set datadog.csi.enabled=true
61+
```
62+
63+
{{% /tab %}}
64+
65+
{{% tab "Datadog Operator" %}}
66+
67+
Si el Datadog Agent se despliega utilizando el Datadog Operator, debes instalar el Helm chart del controlador CSI de Datadog antes de activar Datadog CSI en el Datadog Agent.
68+
69+
1. **Añade el repositorio Helm de Datadog CSI.**
70+
71+
Ejecuta:
72+
```shell
73+
helm repo add datadog-csi-driver https://helm.datadoghq.com
74+
helm repo update
75+
76+
```
77+
78+
2. **Instala el Helm chart del controlador CSI de Datadog.**
79+
80+
Ejecuta:
81+
82+
```shell
83+
helm install datadog-csi-driver datadog/datadog-csi-driver
84+
```
85+
86+
3. **Activa Datadog CSI en tu recurso `DatadogAgent`.**
87+
88+
```
89+
apiVersion: datadoghq.com/v2alpha1
90+
kind: DatadogAgent
91+
metadata:
92+
name: datadog
93+
spec:
94+
global:
95+
credentials:
96+
apiSecret:
97+
secretName: datadog-secret
98+
keyName: api-key
99+
csi:
100+
enabled: true
101+
```
102+
103+
{{% /tab %}}
104+
105+
{{% tab "DaemonSet" %}}
106+
107+
Si el Datadog Agent se despliega utilizando el DaemonSet, debes instalar el Helm chart del controlador CSI de Datadog antes de activar el controlador CSI de Datadog en el Datadog Agent.
108+
109+
1. **Añade el repositorio Helm del controlador CSI de Datadog.**
110+
111+
Ejecuta:
112+
```shell
113+
helm repo add datadog-csi-driver https://helm.datadoghq.com
114+
helm repo update
115+
116+
```
117+
118+
2. **Instala el Helm chart del controlador CSI de Datadog.**
119+
120+
Ejecuta:
121+
122+
```shell
123+
helm install datadog-csi-driver datadog/datadog-csi-driver
124+
```
125+
126+
3. **Activa Datadog CSI**.
127+
128+
Para activar el controlador CSI de Datadog, configura la siguiente variable de entorno en el contenedor del Datadog Cluster Agent:
129+
130+
```
131+
DD_CSI_DRIVER_ENABLED=true
132+
```
133+
{{% /tab %}}
134+
135+
{{< /tabs >}}
136+
137+
### Compatibilidad con GKE Autopilot
138+
139+
A partir del Helm chart versión 3.138.0 del Datadog Agent y del Helm chart versión 0.4.2 del controlador CSI de Datadog, el controlador CSI de Datadog puede instalarse en los clústeres de Google Kubernetes Engine (GKE) Autopilot.
140+
141+
> **Nota:**
142+
> Si el controlador CSI no se instala utilizando el Helm chart, crea el siguiente recurso `AllowlistSynchronizer` para activar la compatibilidad con GKE Autopilot:
143+
144+
```yaml
145+
apiVersion: auto.gke.io/v1
146+
kind: AllowlistSynchronizer
147+
metadata:
148+
name: datadog-csi-synchronizer
149+
spec:
150+
allowlistPaths:
151+
- Datadog/datadog-csi-driver/datadog-datadog-csi-driver-daemonset-exemption-v1.0.1.yaml
152+
```
153+
154+
## Volúmenes Datadog CSI
155+
156+
Los volúmenes CSI procesados por el controlador CSI de Datadog deben tener el siguiente formato:
157+
158+
```yaml
159+
csi:
160+
driver: k8s.csi.datadoghq.com
161+
volumeAttributes:
162+
type: <volume-type>
163+
name: <volume-name>
164+
```
165+
166+
Por ejemplo:
167+
168+
```yaml
169+
apiVersion: v1
170+
kind: Pod
171+
metadata:
172+
name: pod-name
173+
spec:
174+
containers:
175+
- name: ubuntu
176+
image: ubuntu
177+
command: ["/bin/bash", "-c", "--"]
178+
args: ["while true; do sleep 30; echo hello-ubuntu; done;"]
179+
volumeMounts:
180+
- mountPath: /var/sockets/apm/
181+
name: dd-csi-volume-apm-dir
182+
- mountPath: /var/sockets/dsd/dsd.sock
183+
name: dd-csi-volume-dsd
184+
volumes:
185+
- name: dd-csi-volume-dsd
186+
csi:
187+
driver: k8s.csi.datadoghq.com
188+
volumeAttributes:
189+
type: DSDSocket
190+
- name: dd-csi-volume-apm-dir
191+
csi:
192+
driver: k8s.csi.datadoghq.com
193+
volumeAttributes:
194+
type: APMSocketDirectory
195+
```
196+
197+
Se admiten cuatro tipos de volumen CSI:
198+
* [APMSocket](#apmsocket)
199+
* [APMSocketDirectory](#apmsocketdirectory)
200+
* [DSDSocket](#dsdsocket)
201+
* [DSDSocketDirectory](#dsdsocketdirectory)
202+
203+
### APMSocket
204+
205+
Este tipo es útil para montar un archivo de socket UDS en el Trace Agent.
206+
207+
Por ejemplo:
208+
209+
```yaml
210+
csi:
211+
driver: k8s.csi.datadoghq.com
212+
volumeAttributes:
213+
type: APMSocket
214+
name: datadog-apm
215+
```
216+
217+
Si el socket indicado no existe, la operación de montaje falla y el pod se bloquea en la fase `ContainerCreating`.
218+
219+
### APMSocketDirectory
220+
221+
Este tipo es útil para montar el directorio que contiene el socket APM.
222+
223+
Por ejemplo:
224+
225+
```yaml
226+
csi:
227+
driver: k8s.csi.datadoghq.com
228+
readOnly: false
229+
volumeAttributes:
230+
type: APMSocketDirectory
231+
name: datadog
232+
```
233+
234+
### DSDSocket
235+
236+
Este tipo es útil para montar un archivo de socket UDS DogStatsD.
237+
238+
Por ejemplo:
239+
240+
```yaml
241+
csi:
242+
driver: k8s.csi.datadoghq.com
243+
volumeAttributes:
244+
type: DSDSocket
245+
name: datadog-dsd
246+
```
247+
248+
Si el socket indicado no existe, la operación de montaje falla y el pod se bloquea en la fase `ContainerCreating`.
249+
250+
### DSDSocketDirectory
251+
252+
Este tipo es útil para montar el directorio que contiene el socket DogStatsD.
253+
254+
Por ejemplo:
255+
256+
```yaml
257+
csi:
258+
driver: k8s.csi.datadoghq.com
259+
readOnly: false
260+
volumeAttributes:
261+
type: DSDSocketDirectory
262+
name: datadog
263+
```
264+
265+
<div class="alert alert-info">
266+
Con el Datadog Agent v7.67 o posterior, el Admission Controller puede montar automáticamente sockets UDS Datadog en pods mutados configurando el modo de configuración de inyección en <code>csi</code>. Para obtener más información, consulta <a href="/containers/cluster_agent/admission_controller#configure-apm-and-dogstatsd-communication-mode">Admission Controller: Configurar el modo de comunicación de APM y DogStatsD </a>.
267+
268+
Con la configuración predeterminada del Datadog Agent, el Admission Controller inyecta <code>APMSocketDirectory</code> o <code>DSDSocketDirectory</code>. Si los sockets del Trace Agent y DogStatsD están ambos en el mismo directorio en el host, solo se inyecta un volumen, ya que esto proporciona posteriormente acceso a ambos sockets que comparten el mismo directorio en el host.
269+
</div>
270+
271+
## Cuestiones de seguridad
272+
273+
El controlador CSI de Datadog requiere privilegios elevados y acceso específico al host.
274+
275+
### Contexto de seguridad privilegiado
276+
El controlador CSI de Datadog debe ejecutarse como contenedor privilegiado para realizar operaciones de montaje y acceder al sistema de archivos del host.
277+
278+
### Acceso a /var/lib/kubelet/pods
279+
El controlador CSI de Datadog necesita acceso de lectura-escritura al directorio `/var/lib/kubelet/pods`, ya que Kubernetes administra volúmenes de pods utilizando este directorio. El controlador CSI de Datadog debe acceder a `/var/lib/kubelet/pods` para inyectar sockets de dominio Unix Datadog en pods de usuario.
280+
281+
### Propagación bidireccional de montajes
282+
La propagación bidireccional de montajes es necesaria para garantizar que los montajes de volúmenes del servidor del nodo CSI de Datadog sean visibles tanto para el host como para los pods de usuario. Sin la propagación bidireccional de montajes, los sockets compartidos no pueden propagarse correctamente a los pods.
283+
284+
Al aislar el controlador CSI de Datadog en un espacio de nombres privilegiado, los clústeres Kubernetes pueden compartir de forma segura sockets Datadog con pods de usuario que se ejecutan bajo estrictas normas de seguridad para pods como baseline o restricted, a la vez que se minimizan los riesgos de seguridad.
285+
286+
<div class="alert alert-info">
287+
Limita el acceso al espacio de nombres y la configuración del controlador CSI de Datadog a operadores de confianza. Si los privilegios elevados del controlador CSI de Datadog están mal configurados, estos privilegios pueden ser mal utilizados.
288+
</div>
289+
290+
## Referencias adicionales
291+
292+
{{< partial name="whats-next/whats-next.html" >}}
293+
294+
[1]: https://github.com/DataDog/datadog-csi-driver
295+
[2]: https://hub.docker.com/r/datadog/csi-driver
296+
[3]: https://kubernetes-csi.github.io/docs/introduction.html
297+
[4]: https://kubernetes.io/docs/concepts/security/pod-security-standards/

0 commit comments

Comments
 (0)