Skip to content

Commit 293a4ea

Browse files
committed
translate process namespace fr
1 parent a29da47 commit 293a4ea

File tree

2 files changed

+119
-0
lines changed

2 files changed

+119
-0
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Partager l'espace de nommage des processus entre les conteneurs d'un Pod
3+
min-kubernetes-server-version: v1.10
4+
content_template: templates/task
5+
weight: 160
6+
---
7+
8+
{{% capture overview %}}
9+
10+
{{< feature-state state="stable" for_k8s_version="v1.17" >}}
11+
12+
Cette page montre comment configurer le partage de l'espace de noms d'un processus pour un pod. Lorsque le partage de l'espace de noms des processus est activé, les processus d'un conteneur sont visibles pour tous les autres conteneurs de ce pod.
13+
14+
Vous pouvez utiliser cette fonctionnalité pour configurer les conteneurs coopérants, comme un conteneur de sidecar de gestionnaire de journaux, ou pour dépanner les images de conteneurs qui n'incluent pas d'utilitaires de débogage comme un shell.
15+
16+
{{% /capture %}}
17+
18+
{{% capture prerequisites %}}
19+
20+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
21+
22+
{{% /capture %}}
23+
24+
{{% capture steps %}}
25+
26+
## Configurer un Pod
27+
28+
Le partage de l'espace de nommage du processus est activé en utilisant le champ `shareProcessNamespace` de `v1.PodSpec`. Par exemple:
29+
30+
{{< codenew file="pods/share-process-namespace.yaml" >}}
31+
32+
1. Créez le pod `nginx` sur votre cluster :
33+
34+
```shell
35+
kubectl apply -f https://k8s.io/examples/pods/share-process-namespace.yaml
36+
```
37+
38+
1. Attachez-vous au conteneur `shell` et lancez `ps` :
39+
40+
```shell
41+
kubectl attach -it nginx -c shell
42+
```
43+
44+
Si vous ne verrez pas d'invite de commande, appuyez sur la touche Entrée.
45+
46+
```
47+
/ # ps ax
48+
PID USER TIME COMMAND
49+
1 root 0:00 /pause
50+
8 root 0:00 nginx: master process nginx -g daemon off;
51+
14 101 0:00 nginx: worker process
52+
15 root 0:00 sh
53+
21 root 0:00 ps ax
54+
```
55+
56+
Vous pouvez signaler les processus dans d'autres conteneurs. Par exemple, envoyez `SIGHUP` à
57+
nginx pour relancer le processus de worker. Cela nécessite la fonctionnalité `SYS_PTRACE`.
58+
59+
```
60+
/ # kill -HUP 8
61+
/ # ps ax
62+
PID USER TIME COMMAND
63+
1 root 0:00 /pause
64+
8 root 0:00 nginx: master process nginx -g daemon off;
65+
15 root 0:00 sh
66+
22 101 0:00 nginx: worker process
67+
23 root 0:00 ps ax
68+
```
69+
70+
Il est même possible d'accéder à une autre image du conteneur en utilisant le lien `/proc/$pid/root`.
71+
72+
```
73+
/ # head /proc/8/root/etc/nginx/nginx.conf
74+
75+
user nginx;
76+
worker_processes 1;
77+
78+
error_log /var/log/nginx/error.log warn;
79+
pid /var/run/nginx.pid;
80+
81+
82+
events {
83+
worker_connections 1024;
84+
```
85+
86+
{{% /capture %}}
87+
88+
{{% capture discussion %}}
89+
90+
## Comprendre le processus de partage de l'espace de nommage
91+
92+
Pods partagent de nombreuses ressources, il est donc logique qu'elles partagent également un processus espace de noms. Pour certaines images de conteneur, on peut envisager de les isoler d'autres Il est donc important de comprendre ces différences :
93+
94+
1. **Le processus de conteneur n'a plus de PID 1.** Certaines images de conteneurs refusent pour démarrer sans PID 1 (par exemple, les conteneurs utilisant `systemd`) ou exécuter des commandes comme `kill -HUP 1` pour signaler le processus du conteneur. Dans les pods avec un l'espace de noms partagé du processus, `kill -HUP 1` signalera la sandbox du pod. (`/pause` dans l'exemple ci-dessus.)
95+
96+
1. **Les processus sont visibles par les autres conteneurs du pod.** Cela inclut tous les les informations visibles dans `/proc`, comme les mots de passe passés en argument ou des variables d'environnement. Celles-ci ne sont protégées que par des permissions Unix régulières.
97+
98+
1. **Les systèmes de fichiers des conteneurs sont visibles par les autres conteneurs du pod à travers le lien `/proc/$pid/root`.** Cela rend le débogage plus facile, mais cela signifie aussi que les secrets du système de fichiers ne sont protégés que par les permissions du système de fichiers.
99+
100+
{{% /capture %}}
101+
102+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: nginx
5+
spec:
6+
shareProcessNamespace: true
7+
containers:
8+
- name: nginx
9+
image: nginx
10+
- name: shell
11+
image: busybox
12+
securityContext:
13+
capabilities:
14+
add:
15+
- SYS_PTRACE
16+
stdin: true
17+
tty: true

0 commit comments

Comments
 (0)