J'essaie de créer un pod avec un conteneur à des fins de test qui s'exécute pour toujours à l'aide de l'API K8s. J'ai la spécification yaml suivante pour le pod qui exécuterait un conteneur et sortirait immédiatement :

apiVersion: v1
kind: Pod
metadata:
  name: pod-example
spec:
  containers:
  - name: ubuntu
    image: ubuntu:trusty
    command: ["echo"]
    args: ["Hello World"]

Je ne trouve aucune documentation autour de la balise command:, mais idéalement, j'aimerais y mettre une boucle while quelque part en imprimant des nombres pour toujours.

-3
moonraker 4 nov. 2020 à 18:08

1 réponse

Meilleure réponse

Si vous souhaitez continuer à imprimer Hello toutes les quelques secondes, vous pouvez utiliser :

apiVersion: v1
kind: Pod
metadata:
  name: busybox2
  labels:
    app: busybox
spec:
  containers:
  - name: busybox
    image: busybox
    ports:
    - containerPort: 80
    command: ["/bin/sh", "-c", "while :; do echo 'Hello'; sleep 5 ; done"]

Vous pouvez voir le résultat en utilisant kubectl logs <pod-name>

Une autre option pour continuer à exécuter un conteneur sans rien imprimer consiste à utiliser la commande sleep seule, par exemple :

command: ["/bin/sh", "-ec", "sleep 10000"]
0
Mariusz K. 5 nov. 2020 à 10:10