Cómo hacer referencia a secretos y a mapas de configuración con variables de entorno (CLI)

En Code Engine, después de crear secretos y configmaps, la información que se almacena como pares clave-valor puede ser consumida por su aplicación, trabajo o carga de trabajo de función como una variable de entorno haciendo referencia al secreto completo o configmap o haciendo referencia a claves individuales.

Trabajar con secretos como variables de entorno es similar a trabajar con mapas de configuración como variables de entorno. Cuando se trabaja con secretos, los datos están codificados.

Ten en cuenta la siguiente información cuando actualices una aplicación, trabajo o función que tenga una variable de entorno que haga referencia a configmaps o secretos.

Cuando actualizas una aplicación, trabajo o función que tiene una variable de entorno que hace referencia completa a un configmap (o secreto) para hacer referencia completa a un configmap (o secreto) diferente, las referencias completas anulan otras referencias completas en el orden en que se establecen (el último conjunto referenciado anula el primer conjunto).

Cuando actualizas una aplicación, trabajo o función que tiene una variable de entorno que hace referencia a una clave en un configmap (o secreto) para hacer referencia a la misma clave en un configmap (o secreto) diferente, se utiliza la última clave referenciada.

Cuando actualizas una aplicación, trabajo o función que tiene una variable de entorno que hace referencia completa a un configmap (o secreto) para añadir una referencia a una clave específica, entonces la referencia a la clave específica anula la referencia completa al configmap (o secreto).

Para obtener información básica sobre cómo hacer referencia a los mapas de configuración o secretos con la CLI, consulte Hacer referencia a los mapas de configuración con la CLI y Referencia de las correlaciones con la CLI.

Se pueden completar los siguientes casos de ejemplo para secretos o mapas de configuración.

Cómo hacer referencia a un secreto completo con la CLI

Los secretos y los mapas de configuración están formados por pares de clave-valor. Las variables de entorno son el resultado de proporcionar una entrada por clave cuando se hace referencia al mapa de configuración o al secreto completo. Si varios secretos (o mapas de configuración) contienen la misma clave con nombre, solo obtendrá una de las claves en el secreto o mapa de configuración referenciado.

En este caso de ejemplo creará un secreto, que contiene pares clave-valor para un nombre de usuario y contraseña, y luego hará referencia al secreto completo cuando se ejecute un trabajo. Puede actualizar el secreto para añadir una clave y luego demostrar el uso de la nueva clave en un trabajo. Aunque en este caso de ejemplo se utiliza un secreto, puede seguir los mismos pasos para hacer referencia completa a un mapa de configuración sustituyendo configmap por secret en los mandatos.

  1. Cree el secreto mydatabasesec y especifique los pares de clave-valor para un nombre de usuario y contraseña con la opción --from-literal.

    ibmcloud ce secret create -n mydatabasesec --from-literal username=reader --from-literal password=abcd
    
  2. Visualice detalles sobre el secreto de mydatabasesec con el mandato secret get. Los valores para las claves password y username del secreto están codificados.

    ibmcloud ce secret get -n mydatabasesec
    

    Salida de ejemplo

    Getting generic secret 'mydatabasesec'...
    OK
    
    Name:          mydatabasesec
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           17s
    Created:       2020-10-14 14:07:59 -0400 EDT
    
    Data:
    ---
    password: YWJjZA==
    username: cmVhZGVy
    
  3. Establezca una variable de entorno en un trabajo para hacer referencia al secreto mydatabasesec completo. En este ejemplo, utilice la opción --env-from-secret PREFIX=NAME, donde PREFIX=NAME especifica que se debe hacer referencia al mapa de configuración completo donde cada clave tiene el prefijo PREFIX. Utilizando el prefijo read_, se añade el prefijo read_ a cada clave. Puesto que la imagen busybox no muestra ninguna salida de forma predeterminada, la opción -c env especifica que se deben mostrar todas las variables de entorno del contenedor.

    ibmcloud ce job create -n demo -i busybox -c env --env-from-secret read_=mydatabasesec
    

    Se recomienda utilizar un prefijo para garantizar que todas las variables de entorno del trabajo o la aplicación son exclusivas. Por ejemplo, si tiene un secreto con las claves, a, b y c, estas variables de entorno se visualizan como a, b y c. Sin embargo, si añade un prefijo como, por ejemplo, read_, las claves se muestran con el prefijo, por ejemplo, read_a, read_b y read_c. La utilización de un prefijo también agrupa las variables de entorno en la aplicación, el trabajo o la ejecución de trabajo de referencia, y permite evitar duplicados de claves en los mapas de configuración o secretos.

  4. (Opcional) Visualice los detalles del trabajo demo. La salida muestra la referencia completa al secreto mydatabasesec.

    ibmcloud ce job get -n demo
    

    Salida de ejemplo

    Getting job 'demo'...
    OK
    
    Name:          demo
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           6s
    Created:      2022-05-04T15:04:16-04:00
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name                   Value
        Secret full reference  read_=mydatabasesec
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  5. Ejecute un trabajo que utilice la configuración del trabajo demo.

    ibmcloud ce jobrun submit --name demo1 --job demo
    
  6. Visualice los registros de la ejecución del trabajo. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. En este ejemplo, vamos a visualizar los registros de la ejecución del trabajo demo1. Observe en la salida del registro que las claves del secreto completo mydatabasesec se muestran con el prefijo read_. Los valores secretos se añaden al entorno descodificados.

    ibmcloud ce jobrun logs --jobrun demo1
    

    Salida de ejemplo

    Getting logs for all instances of job run 'demo1'...
    Getting jobrun 'demo1'...
    Getting instances of jobrun 'demo1'...
    [...]
    
    HOSTNAME=demo1-0-0
    read_username=reader
    read_password=abcd
    JOB_INDEX=0
    CE_SUBDOMAIN=8aaon2dfwa0
    CE_JOBRUN=demo1
    [...]
    
  7. Actualice el secreto mydatabasesec para añadir una clave mediante la opción --from-file. Esta opción utiliza el formato --from-file FILE o --from-file KEY=FILE. En el mandato siguiente, certificate es la clave y cert.pem es el nombre del archivo.

    ibmcloud ce secret update -n mydatabasesec --from-file certificate=cert.pem
    
  8. Visualice detalles sobre el secreto de mydatabasesec actualizado con el mandato secret get. Ahora el secreto contiene tres claves, certificate, password y username. Los valores secretos están codificados.

    ibmcloud ce secret get -n mydatabasesec
    

    Salida de ejemplo

    Getting generic secret 'mydatabasesec'...
    OK
    
    Name:          mydatabasesec
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           4m13s
    Created:       2020-10-14 13:35:43 -0400 EDT
    
    Data:
    ---
    certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tLS0tDQphc2RmO2Frc2pkZmxrYWpzZGZsa2phc2xka2ZqYWxza2RqZmxha3NqZGZsaw0KLS0tLS1FTkQgQ0VSVEZJQ0lBVEUtLS0tLS0tLS0t
    password: YWJjZA==
    username: cmVhZGVy
    
  9. Ejecute un trabajo que utilice el trabajo demo. Anteriormente, ha hecho referencia al secreto completo mydatabasesec del trabajo demo. Para que un trabajo utilice el secreto actualizado con el par de claves-valor de certificate añadido, envíe una nueva ejecución de trabajo. Para actualizar una app para que utilice el secreto actualizado, reinicie la app.

    ibmcloud ce jobrun submit --name demo2 --job demo
    
  10. Visualice los registros de ejecución del trabajo utilizando el mandato ibmcloud ce jobrun logs. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Para visualizar los registros de una instancia específica de la ejecución del trabajo, utilice la opción --instance con el mandato jobrun logs. Si es necesario, utilice el mandato jobrun get --name demo2 para visualizar detalles de esta ejecución de trabajo, incluidas las instancias de la ejecución del trabajo. En este ejemplo, visualice los registros de la instancia en ejecución de demo2-0-0, donde demo2 es el nombre de la ejecución del trabajo, 0 es el valor de arrayindex y 0 es el valor de retryindex. Observe en la salida que se muestran las claves certificate, username y password del secreto completo mydatabasesec. Los valores secretos se añaden al entorno descodificados.

ibmcloud ce jobrun logs --instance demo2-0-0

Salida de ejemplo

Getting logs for job run instance 'demo2-0-0'...
[...]

read_certificate=-----BEGIN CERTIFICATE--------
asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
-----END CERTFICIATE----------
read_password=abcd
read_username=reader

Cómo hacer referencia a claves individuales de un mapa de configuración con la CLI

En este caso de ejemplo, vamos a crear un mapa de configuración que contenga varios pares de clave-valor y luego haremos referencia a claves específicas en un trabajo. Aunque este caso de ejemplo utiliza un mapa de configuración, puede seguir los mismos pasos generales para hacer referencia a claves individuales con un secreto sustituyendo secret por configmap en los mandatos.

  1. Cree el mapa de configuración de mydatabase y especifique los pares clave-valor para un nombre y un URL mediante la opción --from-literal KEY=VALUE.

    ibmcloud ce configmap create -n mydatabasecm --from-literal name=myname --from-literal url=myurl
    
  2. Visualice detalles sobre el mapa de configuración mydatabasecm con el mandato configmap get.

    ibmcloud ce configmap get -n mydatabasecm
    

    Salida de ejemplo

    Getting configmap 'mydatabasecm'...
    OK
    
    Name:          mydatabasecm
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           16s
    Created:       2020-10-14 13:31:19 -0400 EDT
    
    Data:
    ---
    name: myname
    url: myurl
    
  3. Establezca una variable de entorno en un trabajo para hacer referencia a la clave url en el mapa de configuración de mydatabasecm. Utilice la opción --env-from-configmap NAME:KEY_A,KEY_B, donde NAME:KEY_A especifica que se debe hacer referencia a KEY_A del mapa de configuración.

    ibmcloud ce job create --name keydemo --image busybox --command env --env-from-configmap mydatabasecm:url
    
  4. Ejecute un trabajo que utilice el trabajo keydemo.

    ibmcloud ce jobrun submit --name keydemo1 --job keydemo
    
  5. Visualice los registros de ejecución del trabajo utilizando el mandato ibmcloud ce jobrun logs. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Para visualizar los registros de una instancia específica de la ejecución del trabajo, utilice la opción --instance con el mandato jobrun logs. Si es necesario, utilice el mandato jobrun get --name keydemo1 para visualizar detalles de esta ejecución de trabajo, incluidas las instancias de la ejecución del trabajo. Observe en la salida que url es la única clave a la que se hace referencia y que el trabajo no hace referencia a la clave name.

    ibmcloud ce jobrun logs --instance keydemo1-0-0
    

    Salida de ejemplo

    Getting logs for job run instance 'keydemo1-0-0'...
    [...]
    
    url=myurl
    [...]
    

Sustitución de referencias con la CLI

Puede sustituir los secretos referenciados y los mapas de configuración a los que se hace referencia. Se pueden completar los siguientes casos de ejemplo para secretos o mapas de configuración.

Escenario A. Sobrescribir un secreto con referencia completa con otro secreto con referencia completa

En este caso de ejemplo, vamos a crear un nuevo secreto mydatabasesec-writer con las claves username y password y luego sustituiremos las claves username y password en el secreto mydatabasesec creado anteriormente. El secreto mydatabasesec contiene las claves username=reader y password=abcd.

Las referencias completas sustituyen otras referencias completas en el orden en el que se definen (el último conjunto referenciado sustituye al primer conjunto).

  1. Establezca una variable de entorno en el trabajo writerjob para hacer referencia al secreto mydatabasesec completo, que se ha creado anteriormente. El secreto mydatabasesec contiene las claves username=reader y password=abcd.

    ibmcloud ce job create -n writerjob -i busybox -c env --env-from-secret mydatabasesec
    
  2. (Opcional) Visualice los detalles del trabajo writerjob. La salida muestra la referencia completa al secreto mydatabasesec.

    ibmcloud ce job get -n writerjob
    

    Salida de ejemplo

    Getting job 'writerjob'...
    OK
    
    Name:          writerjob
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           17s
    Created:       2021-02-12T07:12:08-06:00
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name           Value  
        Secret full reference  mydatabasesec    
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Ejecute un trabajo que utilice el trabajo writerjob.

    ibmcloud ce jobrun submit --name writerjob1 --job writerjob
    
  4. Visualice los registros de la ejecución del trabajo. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. En este ejemplo, vamos a visualizar los registros de la ejecución del trabajo writerjob1. Observe en la salida que se muestran las claves username y password del secreto completo mydatabasesec. Los valores secretos se añaden al entorno descodificados.

    ibmcloud ce jobrun logs --jobrun writerjob1
    

    Salida de ejemplo

    Getting jobrun 'writerjob1'...
    Getting instances of jobrun 'writerjob1'...
    Getting logs for all instances of job run 'writerjob1'...
    OK
    [...]
    
    certificate=-----BEGIN CERTIFICATE--------
    asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
    -----END CERTFICIATE----------
    password=abcd
    username=reader
    [...]
    
  5. Cree el secreto mydatabasesec-writer y especifique los pares de clave-valor para un nombre de usuario y contraseña con la opción --from-literal.

    ibmcloud ce secret create --name mydatabasesec-writer --from-literal username=writer --from-literal password=wxyz
    
  6. Visualice detalles sobre el secreto de mydatabasesec-writer con el mandato secret get. Los valores para las claves password y username del secreto están codificados.

    ibmcloud ce secret get -n mydatabasesec-writer
    

    Salida de ejemplo

    Getting generic secret 'mydatabasesec-writer'...
    OK
    
    Name:          mydatabasesec-writer
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           14s
    Created:       2020-10-14 13:44:16 -0400 EDT
    
    Data:
    ---
    password: d3h5eg==
    username: d3JpdGVy
    
  7. Actualice el trabajo de writerjob para que haga referencia al secreto completo de mydatabasesec-writer y utilice el prefijo write_.

    ibmcloud ce job update --name writerjob --env-from-secret write_=mydatabasesec-writer
    
  8. (Opcional) Visualice los detalles del trabajo writerjob actualizado. El trabajo hace referencia completa a los secretos mydatabasesec y mydatabase-writer.

    ibmcloud ce job get -n writerjob
    

    Salida de ejemplo

    Getting job 'writerjob'...
    OK
    
    Name:          writerjob
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           4m2s
    Created:       2021-02-12T07:12:08-06:00
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name                          Value  
        Secret full reference  mydatabasesec           
        Secret full reference  write_=mydatabasesec-writer   
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  9. Ejecute un trabajo que utilice el trabajo writerjob. Puesto que el trabajo writerjob se ha actualizado para que haga referencia al secreto mydatabasesec y al secreto mydatabasesec-writer y ambos secretos incluyen claves para username y password, el último secreto completo al que se hace referencia mydatabasesec-writer prevalece sobre el secreto mydatabasesec.

    Para que una ejecución de un trabajo utilice la configuración actualizada de un trabajo con las actualizaciones a sus secretos totalmente referenciados, ejecute un nuevo trabajo. Para actualizar una app para que utilice el secreto actualizado, reinicie la app.

    ibmcloud ce jobrun submit --name writerjob2 --job writerjob
    
  10. Visualice los registros de ejecución del trabajo utilizando el mandato ibmcloud ce jobrun logs. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Para visualizar los registros de todas las instancias de un trabajo, utilice la opción --jobrun con el mandato jobrun logs. Para visualizar los registros de una instancia específica de la ejecución del trabajo, utilice la opción --instance con el mandato jobrun logs. Si es necesario, utilice el mandato jobrun get --name writerjob2 para visualizar detalles de esta ejecución de trabajo, incluidas las instancias de la ejecución del trabajo. Observe en la salida que las claves username y password del secreto mydatabasesec-writer prevalece sobre las claves del secreto mydatabasesec. Además, en la salida del registro, las claves del secreto completo mydatabasesec-writer se visualizan con el prefijo write_. Los valores de secreto se añaden al entorno decodificado.

ibmcloud ce jobrun logs --instance writerjob2-0-0

Salida de ejemplo

Getting logs for job run instance 'writerjob2-0-0'...
[...]

certificate=-----BEGIN CERTIFICATE--------
asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
-----END CERTFICIATE----------
password=abcd
username=reader
write_password=wxyz
write_username=writer
[...]

Escenario B. Sobrescribir un secreto con referencia completa con una referencia de clave

Las referencias a una clave en un secreto o en un mapa de configuración siempre sustituyen a una referencia completa a un secreto o a un mapa de configuración cuando la clave que se utiliza reside en un secreto o mapa de configuración totalmente referenciado, independientemente del orden.

En este caso de ejemplo, vamos a utilizar los secretos mydatabasesec y mydatabasesec-writer creados anteriormente y las claves de referencia dentro de los secretos de un trabajo.

  1. Establezca una variable de entorno en un trabajo writerpic de modo que haga referencia a claves específicas en los secretos mydatabasesec y mydatabasesec-writer. El secreto mydatabasesec contiene las claves username=reader, password=abcd y certificate=cert.pem. El secreto mydatabasesec-writer contiene las claves username=writer y password=wxyz.

    ibmcloud ce job create -n writerpick -i busybox -c env --env-from-secret mydatabasesec-writer:username --env-from-secret mydatabasesec-writer:password --env-from-secret mydatabasesec
    
  2. (Opcional) Visualice los detalles del trabajo writerpick. La salida muestra la referencia completa al secreto mydatabasesec y la referencia de clave a las claves password y username del secreto mydatabasesec-writer.

    ibmcloud ce job get -n writerpick
    

    Salida de ejemplo

    Getting job 'writerpick'...
    OK
    
    Name:          writerpick
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           107s
    Created:       2021-02-12T07:16:46-06:00  
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name           Value  
        Secret full reference  mydatabasesec    
        Secret key reference   password       mydatabasesec-writer.password  
        Secret key reference   username       mydatabasesec-writer.username  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Ejecute un trabajo que utilice el trabajo writerpick.

    ibmcloud ce jobrun submit --name writerpick1 --job writerpick
    
  4. Visualice los registros de ejecución del trabajo writerpick1 utilizando el mandato ibmcloud ce jobrun logs. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Para visualizar los registros de una instancia específica de la ejecución del trabajo, utilice la opción --instance con el mandato jobrun logs. Si es necesario, utilice el mandato jobrun get --name writerpick1 para visualizar detalles de esta ejecución de trabajo, incluidas las instancias de la ejecución del trabajo. Puesto que el trabajo writerpick se ha actualizado para que haga referencia a claves específicas del secreto mydatabasesec-writer y para que haga referencia al secreto completo mydatabasesec, la referencia a las claves username y password del secreto mydatabasesec-writer sustituyen la referencia al secreto completo. Los valores secretos se añaden al entorno descodificados.

    ibmcloud ce jobrun logs --instance writerpick1-0-0
    

    Salida de ejemplo

    Getting logs for job run instance 'writerpick1-0-0'...
    [...]
    
    username=writer
    certificate=-----BEGIN CERTIFICATE--------
    asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
    -----END CERTFICIATE----------
    password=wxyz
    [...]
    

Escenario C. Sobrescribir referencias de clave con claves nuevas

Puede actualizar la referencia a una clave específica de un secreto o mapa de configuración y sustituir el valor por un nuevo valor.

En este caso de ejemplo, vamos a utilizar el mapa de configuración mydatabasecm creado anteriormente, que contiene la clave url:myurl para actualizar el valor de la clave.

  1. Establezca una variable de entorno en un trabajo keyref de modo que haga referencia a una clave específica del mapa de configuración mydatabasecm.

    ibmcloud ce job create -n keyref -i busybox -c env --env-from-configmap mydatabasecm:url
    
  2. (Opcional) Visualice los detalles del trabajo keyref. La salida muestra la referencia de clave a la clave url en el mapa de configuración mydatabasecm.

    ibmcloud ce job get -n keyref
    

    Salida de ejemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           65s
    Created:       2021-02-12T07:18:44-06:00  
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                     Name  Value  
        ConfigMap key reference  url   mydatabasecm.url  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Ejecute un trabajo que utilice el trabajo keyref.

    ibmcloud ce jobrun submit --name keyref1 --job keyref
    
  4. Visualice los registros de una instancia en ejecución de keyref1 utilizando el mandato ibmcloud ce jobrun logs. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Para visualizar los registros de una instancia específica de la ejecución del trabajo, utilice la opción --instance con el mandato jobrun logs. Si es necesario, utilice el mandato jobrun get --name keyref1 para visualizar detalles de esta ejecución de trabajo, incluidas las instancias de la ejecución del trabajo. La ejecución del trabajo ha utilizado la referencia de clave url=myurl.

    ibmcloud ce jobrun logs --instance keyref1-0-0
    

    Salida de ejemplo

    Getting logs for job run instance 'keyref1-0-0'...
    [...]
    
    url=myurl
    [...]
    
  5. Actualice el trabajo keyref de modo que sustituya url=myurl por una clave nueva. Utilice la opción --env para actualizar la clave url. La opción --env del mandato job update establece variables de entorno para el trabajo en el formato NAME=VALUE.

    ibmcloud ce job update --name keyref --env url=newurl  
    
  6. (Opcional) Visualice los detalles del trabajo keyref. La salida muestra la referencia de clave a la clave url en el mapa de configuración mydatabasecm.

    ibmcloud ce job get -n keyref
    

    Salida de ejemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           3m6s
    Created:       2021-02-12T07:18:44-06:00  
    
    Commands:                 
        env  
    Environment Variables:    
        Type     Name  Value  
        Literal  url   newurl  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    

Eliminación de secretos o mapas de configuración completamente referenciados con la CLI

Puede eliminar un secreto o un mapa de configuración totalmente referenciado de un trabajo o de una app.

En este caso de ejemplo, vamos a eliminar el secreto mydatabasesec completo del trabajo demo.

  1. Actualice el trabajo demo para eliminar la referencia al secreto mydatabasesec.

    ibmcloud ce job update -n demo --env-from-secret-rm mydatabasesec
    
  2. Visualice los detalles del trabajo demo. En la salida se muestra que se ha eliminado la referencia al secreto mydatabasesec.

    ibmcloud ce job get -n demo
    

    Salida de ejemplo

    Getting job 'demo'...
    OK
    
    Name:          demo
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           19m
    Created:       2021-02-12T07:05:23-06:00  
    [...]
    
    Commands:               
        env  
    Image:                busybox    
    Resource Allocation:    
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    

Eliminación de referencias de clave con la CLI

Puede eliminar una clave a la que se hace referencia en un secreto o en un mapa de configuración de un trabajo o de una app.

En este caso de ejemplo, vamos a eliminar la clave url del trabajo keyref.

Aunque se ha utilizado la opción --env-from-configmap en un trabajo para hacer referencia a la clave url en el mapa de configuración mydatabasecm, puede utilizar la opción --env-rm para eliminar claves individuales. Puede utilizar la opción --env-rm con los mandatos job update o app update para eliminar referencias de claves independientemente de si las claves son referencias de claves individuales en un secreto o mapa de configuración o si las claves se han establecido directamente en un trabajo o app con la opción --env.

  1. Actualice el trabajo keydef para eliminar la referencia a la clave url.

    ibmcloud ce job update --name keyref --env-rm url
    
  2. Visualice los detalles del trabajo keyref. En la salida se muestra que se ha eliminado la referencia a la clave url.

    ibmcloud ce job get -n keyref
    

    Salida de ejemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           6m27s
    Created:       2021-02-12T07:18:44-06:00  
    [...]
    
    Commands:               
        env  
    Image:                busybox  
    Resource Allocation:    
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3