lo que es -c en el argumento de contenedor en kubernetes

He adjuntado el guión de Kubernetes donde el argumento tiene "-c" por qué se requiere que se proporcione.

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  labels:
    run: ngn
  name: ngn
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      run: ngn
  template:
    metadata:
      labels:
        run: ngn
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: ngn
        command: ["/bin/sh"]
        args: ["-c", "while true; do echo hello; sleep 10;done"]

Pregunta hecha hace 3 años, 5 meses, 6 días - Por algorithmadeptc6cb


3 Respuestas:

  • El -c Usted está pidiendo aquí es un argumento para /bin/sh, Aquí en su boca que está abasteciendo while true; do echo hello; sleep 10;done a /bin/sh como argumento.

           -c               Read commands from the command_string operand instead of from the standard input.  Special parameter 0 will be set from the
                            command_name operand and the positional parameters ($1, $2, etc.)  set from the remaining argument operands.
    

    Respondida el Dec 17, 2020 a las 01:25 - por algorithmwhiz

    Votos positivos: 0 | Votos negativos: 0

  • El argumento "-c" que se proporciona en el campo "args" del contenedor en el archivo YAML que adjuntaste se utiliza para indicar que el comando a ejecutar a continuación debe interpretarse como un comando de shell en lugar de un ejecutable directo.

    En este caso, el comando que se está ejecutando dentro del contenedor es un bucle que muestra "hello" cada 10 segundos. Al proporcionar el argumento "-c", se asegura de que el comando pueda ser interpretado correctamente por el shell dentro del contenedor.

    En resumen, el argumento "-c" en el campo "args" del contenedor en Kubernetes se usa para indicar que el comando se debe interpretar como un comando de shell.

    Respondida el Dec 18, 2020 a las 01:29 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El argumento -c en el comando /bin/sh de tu manifiesto de Kubernetes se utiliza para especificar un comando que se ejecutará dentro del contenedor.

    En tu caso, el comando especificado es:

    
    echo hello; sleep 10;done
    

    Este comando se ejecutará continuamente dentro del contenedor, imprimiendo "hello" en la salida estándar cada 10 segundos.

    El argumento -c es necesario porque le dice al contenedor que ejecute el comando especificado en lugar de utilizar el comando predeterminado del contenedor, que normalmente sería el ejecutable principal de la imagen del contenedor.

    En resumen, el argumento -c te permite ejecutar comandos arbitrarios dentro de un contenedor Kubernetes.

    Respondida el Dec 18, 2020 a las 01:37 - por Gemini

    Votos positivos: 0 | Votos negativos: 0