Skip to content

Commit 877c115

Browse files
committed
translate configure-access-multiple-clusters to French
1 parent e028d3d commit 877c115

File tree

1 file changed

+374
-0
lines changed

1 file changed

+374
-0
lines changed
Lines changed: 374 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,374 @@
1+
---
2+
title: Configurer l'accès à plusieurs clusters
3+
content_type: task
4+
weight: 30
5+
card:
6+
name: tasks
7+
weight: 40
8+
---
9+
10+
11+
<!-- overview -->
12+
13+
Cette page montre comment configurer l'accès à plusieurs clusters à l'aide de fichiers de configuration.
14+
Une fois vos clusters, utilisateurs et contextes définis dans un ou plusieurs fichiers de configuration, vous pouvez basculer rapidement entre les clusters en utilisant la commande `kubectl config use-context`.
15+
16+
{{< note >}}
17+
Un fichier utilisé pour configurer l'accès à un cluster est parfois appelé *fichier kubeconfig*.
18+
C'est une manière générique de se référer aux fichiers de configuration.
19+
Cela ne signifie pas qu'il existe un fichier nommé `kubeconfig`.
20+
{{< /note >}}
21+
22+
## {{% heading "prerequisites" %}}
23+
24+
{{< include "task-tutorial-prereqs.md" >}}
25+
26+
Pour vérifier que {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} est installé, executez `kubectl version --client`.
27+
La version kubectl doit être [dans une version mineure](/docs/setup/release/version-skew-policy/#kubectl) de votre
28+
serveur API du cluster.
29+
30+
<!-- steps -->
31+
32+
## Définir des clusters, des utilisateurs et des contextes
33+
34+
Supposons que vous ayez deux clusters, un pour le développement et un pour le travail `scratch`.
35+
Dans le cluster `development`, vos développeurs frontend travaillent dans un espace de noms appelé `frontend`, et vos développeurs de stockage travaillent dans un espace de noms appelé `storage`.
36+
Dans votre cluster `scratch`, les développeurs travaillent dans le namespace par défaut ou créent des namespaces auxiliaires comme bon leur semble.
37+
L'accès au cluster `development` nécessite une authentification par certificat.
38+
L'accès au cluster `scratch` nécessite une authentification par nom d'utilisateur et mot de passe.
39+
40+
Créez un répertoire nommé `config-exercice`.
41+
Dans votre répertoire `config-exercice`, créez un fichier nommé `config-demo` avec ce contenu:
42+
43+
```shell
44+
apiVersion: v1
45+
kind: Config
46+
preferences: {}
47+
48+
clusters:
49+
- cluster:
50+
name: development
51+
- cluster:
52+
name: scratch
53+
54+
users:
55+
- name: developer
56+
- name: experimenter
57+
58+
contexts:
59+
- context:
60+
name: dev-frontend
61+
- context:
62+
name: dev-storage
63+
- context:
64+
name: exp-scratch
65+
```
66+
67+
Un fichier de configuration décrit les clusters, les utilisateurs et les contextes.
68+
Votre fichier `config-demo` a le cadre pour décrire deux clusters, deux utilisateurs et trois contextes.
69+
70+
Allez dans votre répertoire `config-exercice`.
71+
Entrez ces commandes pour ajouter les détails du cluster à votre fichier de configuration:
72+
73+
```shell
74+
kubectl config --kubeconfig=config-demo set-cluster development --server=http://1.2.3.4 --certificate-authority=fake-ca-file
75+
kubectl config --kubeconfig=config-demo set-cluster scratch --server=http://5.6.7.8 --insecure-skip-tls-verify
76+
```
77+
78+
Ajoutez les détails de l'utilisateur à votre fichier de configuration:
79+
80+
```shell
81+
kubectl config --kubeconfig=config-demo set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile
82+
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password
83+
```
84+
85+
{{< note >}}
86+
87+
- Pour supprimer un utilisateur, vous pouvez exécuter `kubectl --kubeconfig=config-demo config unset users.<name>`
88+
- Pour supprimer un cluster, vous pouvez exécuter `kubectl --kubeconfig=config-demo config unset clusters.<name>`
89+
- Pour supprimer un contexte, vous pouvez exécuter `kubectl --kubeconfig=config-demo config unset contexts.<name>`
90+
{{< /note >}}
91+
92+
Ajoutez des détails de contexte à votre fichier de configuration:
93+
94+
```shell
95+
kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer
96+
kubectl config --kubeconfig=config-demo set-context dev-storage --cluster=development --namespace=storage --user=developer
97+
kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter
98+
```
99+
100+
Ouvrez votre fichier `config-demo` pour voir les détails ajoutés.
101+
Au lieu d'ouvrir le fichier `config-demo`, vous pouvez utiliser la commande `kubectl config view`.
102+
103+
```shell
104+
kubectl config --kubeconfig=config-demo view
105+
```
106+
107+
La sortie montre les deux clusters, deux utilisateurs et trois contextes:
108+
109+
```shell
110+
apiVersion: v1
111+
clusters:
112+
- cluster:
113+
certificate-authority: fake-ca-file
114+
server: http://1.2.3.4
115+
name: development
116+
- cluster:
117+
insecure-skip-tls-verify: true
118+
server: http://5.6.7.8
119+
name: scratch
120+
contexts:
121+
- context:
122+
cluster: development
123+
namespace: frontend
124+
user: developer
125+
name: dev-frontend
126+
- context:
127+
cluster: development
128+
namespace: storage
129+
user: developer
130+
name: dev-storage
131+
- context:
132+
cluster: scratch
133+
namespace: default
134+
user: experimenter
135+
name: exp-scratch
136+
current-context: ""
137+
kind: Config
138+
preferences: {}
139+
users:
140+
- name: developer
141+
user:
142+
client-certificate: fake-cert-file
143+
client-key: fake-key-file
144+
- name: experimenter
145+
user:
146+
password: some-password
147+
username: exp
148+
```
149+
150+
Le `fake-ca-file`, `fake-cert-file` et `fake-key-file` ci-dessus sont les espaces réservés pour les noms de chemin des fichiers de certificat.
151+
Vous devez les remplacer par les noms de chemin réels des fichiers de certificat dans votre environnement.
152+
153+
Parfois, vous souhaiterez peut-être utiliser des données encodées en Base64 incorporées ici au lieu de fichiers de certificat séparés; dans ce cas, vous devez ajouter le suffixe `-data` aux clés, par exemple, `certificate-Authority-data`, `client-certificate-data`, `client-key-data`.
154+
155+
Chaque contexte est un triplet (cluster, utilisateur, namespace).
156+
Par exemple, le contexte `dev-frontend` dit, "Utilisez les informations d'identification de l'utilisateur `developer` pour accéder au namespace `frontend` du cluster `development`".
157+
158+
Définissez le contexte actuel:
159+
160+
```shell
161+
kubectl config --kubeconfig=config-demo use-context dev-frontend
162+
```
163+
164+
Maintenant, chaque fois que vous entrez une commande `kubectl`, l'action s'appliquera au cluster et au namespace répertorié dans le contexte `dev-frontend`.
165+
Et la commande utilisera les informations d'identification de l'utilisateur répertoriées dans le contexte `dev-frontend`.
166+
167+
Pour voir uniquement les informations de configuration associées au contexte actuel, utilisez l'indicateur `--minify`.
168+
169+
```shell
170+
kubectl config --kubeconfig=config-demo view --minify
171+
```
172+
173+
La sortie affiche les informations de configuration associées au contexte `dev-frontend`:
174+
175+
```shell
176+
apiVersion: v1
177+
clusters:
178+
- cluster:
179+
certificate-authority: fake-ca-file
180+
server: http://1.2.3.4
181+
name: development
182+
contexts:
183+
- context:
184+
cluster: development
185+
namespace: frontend
186+
user: developer
187+
name: dev-frontend
188+
current-context: dev-frontend
189+
kind: Config
190+
preferences: {}
191+
users:
192+
- name: developer
193+
user:
194+
client-certificate: fake-cert-file
195+
client-key: fake-key-file
196+
```
197+
198+
Supposons maintenant que vous souhaitiez travailler pendant un certain temps dans le cluster scratch.
199+
200+
Changez le contexte actuel en `exp-scratch`:
201+
202+
```shell
203+
kubectl config --kubeconfig=config-demo use-context exp-scratch
204+
```
205+
206+
Maintenant, toute commande `kubectl` que vous donnez s'appliquera au namespace par défaut du cluster `scratch`.
207+
Et la commande utilisera les informations d'identification de l'utilisateur répertoriées dans le contexte `exp-scratch`.
208+
209+
Afficher la configuration associée au nouveau contexte actuel, `exp-scratch`.
210+
211+
```shell
212+
kubectl config --kubeconfig=config-demo view --minify
213+
```
214+
215+
Enfin, supposons que vous vouliez travailler pendant un certain temps dans le namespace `storage` du cluster `development`.
216+
217+
Changez le contexte actuel en `dev-storage`:
218+
219+
```shell
220+
kubectl config --kubeconfig=config-demo use-context dev-storage
221+
```
222+
223+
Afficher la configuration associée au nouveau contexte actuel, `dev-storage`.
224+
225+
```shell
226+
kubectl config --kubeconfig=config-demo view --minify
227+
```
228+
229+
## Créer un deuxième fichier de configuration
230+
231+
Dans votre répertoire `config-exercice`, créez un fichier nommé `config-demo-2` avec ce contenu:
232+
233+
```shell
234+
apiVersion: v1
235+
kind: Config
236+
preferences: {}
237+
238+
contexts:
239+
- context:
240+
cluster: development
241+
namespace: ramp
242+
user: developer
243+
name: dev-ramp-up
244+
```
245+
246+
Le fichier de configuration précédent définit un nouveau contexte nommé `dev-ramp-up`.
247+
248+
## Définissez la variable d'environnement KUBECONFIG
249+
250+
Vérifiez si vous avez une variable d'environnement nommée `KUBECONFIG`.
251+
Si tel est le cas, enregistrez la valeur actuelle de votre variable d'environnement `KUBECONFIG`, afin de pouvoir la restaurer ultérieurement.
252+
Par exemple:
253+
254+
### Linux
255+
256+
```shell
257+
export KUBECONFIG_SAVED=$KUBECONFIG
258+
```
259+
260+
### Windows PowerShell
261+
262+
```shell
263+
$Env:KUBECONFIG_SAVED=$ENV:KUBECONFIG
264+
```
265+
266+
La variable d'environnement `KUBECONFIG` est une liste de chemins vers les fichiers de configuration.
267+
La liste est délimitée par deux-points pour Linux et Mac et par des points-virgules pour Windows.
268+
Si vous avez une variable d'environnement `KUBECONFIG`, familiarisez-vous avec les fichiers de configuration de la liste.
269+
270+
Ajoutez temporairement deux chemins à votre variable d'environnement `KUBECONFIG`.
271+
Par exemple:
272+
273+
### Linux
274+
275+
```shell
276+
export KUBECONFIG=$KUBECONFIG:config-demo:config-demo-2
277+
```
278+
279+
### Windows PowerShell
280+
281+
```shell
282+
$Env:KUBECONFIG=("config-demo;config-demo-2")
283+
```
284+
285+
Dans votre répertoire `config-exercice`, entrez cette commande:
286+
287+
```shell
288+
kubectl config view
289+
```
290+
291+
La sortie affiche les informations fusionnées de tous les fichiers répertoriés dans votre variable d'environnement `KUBECONFIG`.
292+
En particulier, notez que les informations fusionnées ont le contexte `dev-ramp-up` du fichier `config-demo-2` et les trois contextes du fichier `config-demo`:
293+
294+
```shell
295+
contexts:
296+
- context:
297+
cluster: development
298+
namespace: frontend
299+
user: developer
300+
name: dev-frontend
301+
- context:
302+
cluster: development
303+
namespace: ramp
304+
user: developer
305+
name: dev-ramp-up
306+
- context:
307+
cluster: development
308+
namespace: storage
309+
user: developer
310+
name: dev-storage
311+
- context:
312+
cluster: scratch
313+
namespace: default
314+
user: experimenter
315+
name: exp-scratch
316+
```
317+
318+
Pour plus d'informations sur la manière dont les fichiers kubeconfig sont fusionnés, consultez [Organisation de l'accès au cluster à l'aide des fichiers kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
319+
320+
## Explorez le répertoire $HOME/.kube
321+
322+
Si vous avez déjà un cluster, et vous pouvez utiliser `kubectl` pour interagir avec le cluster, alors vous avez probablement un fichier nommé `config` dans le repertoire `$HOME/.kube`.
323+
324+
Allez dans `$ HOME/.kube`, et voyez quels fichiers sont là.
325+
En règle générale, il existe un fichier nommé `config`.
326+
Il peut également y avoir d'autres fichiers de configuration dans ce répertoire.
327+
Familiarisez-vous brièvement avec le contenu de ces fichiers.
328+
329+
## Ajoutez $HOME/.kube/config à votre variable d'environnement KUBECONFIG
330+
331+
Si vous avez un fichier `$ HOME/.kube/config`, et qu'il n'est pas déjà répertorié dans votre variable d'environnement `KUBECONFIG`, ajoutez-le maintenant à votre variable d'environnement `KUBECONFIG`.
332+
Par exemple:
333+
334+
### Linux
335+
336+
```shell
337+
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config
338+
```
339+
340+
### Windows Powershell
341+
342+
```shell
343+
$Env:KUBECONFIG="$Env:KUBECONFIG;$HOME\.kube\config"
344+
```
345+
346+
Affichez les informations de configuration fusionnées à partir de tous les fichiers qui sont maintenant répertoriés dans votre variable d'environnement `KUBECONFIG`.
347+
Dans votre répertoire config-exercice, entrez:
348+
349+
```shell
350+
kubectl config view
351+
```
352+
353+
## Nettoyage
354+
355+
Remettez votre variable d'environnement `KUBECONFIG` à sa valeur d'origine.
356+
357+
Par exemple:
358+
359+
### Linux
360+
361+
```shell
362+
export KUBECONFIG=$KUBECONFIG_SAVED
363+
```
364+
365+
### Windows PowerShell
366+
367+
```shell
368+
$Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED
369+
```
370+
371+
## {{% heading "whatsnext" %}}
372+
373+
- [Organisation de l'accès au cluster à l'aide des fichiers kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
374+
- [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config)

0 commit comments

Comments
 (0)