add french translation for task 'Define a Command and Arguments for a Container'
parent
e5a7c4fb15
commit
5e86649304
|
@ -1,4 +1,5 @@
|
|||
---
|
||||
title: Injection des données dans les applications
|
||||
title: "Injecter des données dans les applications"
|
||||
description: Spécifier la configuration et paramètres pour les Pods qui exécutent vos charge de travail.
|
||||
weight: 30
|
||||
---
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
title: Définir une commande et ses arguments pour un Container
|
||||
content_type: task
|
||||
weight: 10
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
Cette page montre comment définir les commandes et arguments d'un container au sein d'un {{< glossary_tooltip term_id="pod" >}}.
|
||||
|
||||
|
||||
|
||||
|
||||
## {{% heading "prerequisites" %}}
|
||||
|
||||
|
||||
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- steps -->
|
||||
|
||||
## Définir une commande et ses arguments à la création d'un Pod
|
||||
|
||||
Lorsque vous créez un Pod, il est possible de définir une commande et des arguements pour les containers qui seront exécutes dans votre Pod. Pour définir une commande, ajoutez un champ `command` dans le fichier de configuration. Pour définir des arguments, ajoutez le champ `args` dans le fichier de configuration. La commande et les arguments qui sont définis ne peuvent être changés après la création du Pod.
|
||||
|
||||
La commande et les arguments que vous définissez dans le fichier de configuration écrase la commande et les arguments définis par l'image utilisée par le container. Si vous définissez uniquement des arguments, la commande par défaut sera exécutée avec les arguments que vous avez configurés.
|
||||
{{< note >}}
|
||||
Le champ `command` correspond à `entrypoint` dans certains runtimes de containers.
|
||||
{{< /note >}}
|
||||
|
||||
Dans cet exercice, vous allez créer un Pod qui exécute un container. Le fichier de configuration pour le Pod défini une commande ainsi que deux arguments:
|
||||
{{< codenew file="pods/commands.yaml" >}}
|
||||
|
||||
1. Créer un Pod en utilisant le fichier YAML de configuration suivant:
|
||||
|
||||
```shell
|
||||
kubectl apply -f https://k8s.io/examples/pods/commands.yaml
|
||||
```
|
||||
|
||||
1. Lister les Pods
|
||||
|
||||
```shell
|
||||
kubectl get pods
|
||||
```
|
||||
|
||||
Le résultat montre que le container exécuté dans le Pod nommé container-demo a complété son exécution.
|
||||
|
||||
1. Pour voir le résultat de la commade exécutée dans le container, on peut afficher les logs pour le Pod:
|
||||
|
||||
```shell
|
||||
kubectl logs command-demo
|
||||
```
|
||||
|
||||
Le résultat montre les valeurs des variables d'environnement HOSTNAME et KUBERNETES_PORT:
|
||||
|
||||
```
|
||||
command-demo
|
||||
tcp://10.3.240.1:443
|
||||
```
|
||||
|
||||
## Utiliser des variables d'environnements dans les arguments
|
||||
|
||||
Dans l'exemple précédent, vous avez défini des arguments en donnant
|
||||
directement les valeurs en format string.
|
||||
Il est aussi possible de définir des arguments en utilisant des variables d'environnement:
|
||||
|
||||
```yaml
|
||||
env:
|
||||
- name: MESSAGE
|
||||
value: "hello world"
|
||||
command: ["/bin/echo"]
|
||||
args: ["$(MESSAGE)"]
|
||||
```
|
||||
|
||||
Il est donc possible de définir un argument pour un Pod en utilisant n'importe quelle méthode disponible pour définir des variables d'environnements, ce qui inclut les
|
||||
[ConfigMaps](/docs/tasks/configure-pod-container/configure-pod-configmap/)
|
||||
et les
|
||||
[Secrets](/docs/concepts/configuration/secret/).
|
||||
|
||||
{{< note >}}
|
||||
Les variables d'environnements apparaissent ente parenthèses `"$(VAR)"`.
|
||||
Cette écriture est requise pour que la variable soit correctement
|
||||
interpolée dans les champs `command` ou `args`.
|
||||
{{< /note >}}
|
||||
|
||||
## Exécuter une commande à l'intérieur d'un shell
|
||||
|
||||
Dans certains cas, certaines commandes nécéssitent d'être exécutées dans un shell. Par exemple, certaines commandes consistent en une chaine de commandes, ou un script shell. Pour exécuter une commande dans un shell, il est possible de wrapper la commande comme ceci:
|
||||
|
||||
```shell
|
||||
command: ["/bin/sh"]
|
||||
args: ["-c", "while true; do echo hello; sleep 10;done"]
|
||||
```
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
|
||||
* Aller plus loin dans la [configuration des pods et des containers](/docs/tasks/).
|
||||
* Apprendre à [exécuter des commandes dans un container](/docs/tasks/debug/debug-application/get-shell-running-container/).
|
||||
* Voir la [documentation de référence sur les containers](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core).
|
|
@ -0,0 +1,13 @@
|
|||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: command-demo
|
||||
labels:
|
||||
purpose: demonstrate-command
|
||||
spec:
|
||||
containers:
|
||||
- name: command-demo-container
|
||||
image: debian
|
||||
command: ["printenv"]
|
||||
args: ["HOSTNAME", "KUBERNETES_PORT"]
|
||||
restartPolicy: OnFailure
|
Loading…
Reference in New Issue