Cómo trabajar con variables de entorno
Aprenda a trabajar con variables de entorno (env variables) en Code Engine. Puede establecer variables de entorno como pares clave-valor que pueden ser utilizados por su aplicación, trabajo o función.
Creación y actualización de variables de entorno
Cree y gestione variables de entorno con Code Engine.
Puede definir variables de entorno como valores literales o puede hacer referencia a un secreto o configmap existente. Code Engine utiliza variables de entorno para permitir que los secretos o configmaps sean utilizados por su trabajo, aplicación o función.
Creación de variables de entorno desde la consola
Cree y actualice variables de entorno con la consola Code Engine.
Puedes definir variables de entorno cuando crees o actualices tu aplicación, trabajo o función desde la consola.
Antes de empezar
- Debe crear su proyecto y el proyecto debe estar en estado
active. - Determine si desea crear una variable de entorno literal o crear una variable de entorno que haga referencia a un secreto o mapa de configuración existente. Si desea que la variable de entorno haga referencia completa a un secreto o mapa de configuración existente o haga referencia a claves individuales en un secreto o mapa de configuración existente, el secreto o el mapa de configuración debe existir. Consulte crear un secreto o crear un mapa de configuración para definir el secreto o mapa de configuración antes de continuar.
-
Para abrir el diálogo para definir la variable de entorno en la página Añadir variable de entorno, complete una de las opciones siguientes.
- Si está creando una app, en la página Crear aplicación, expanda la sección Variables de entorno (opcional). Puede añadir una o más variables de entorno a la app que está creando. Pulse Añadir para abrir la página Añadir variable de entorno.
- Si está creando un trabajo, en la página Crear trabajo, expanda la sección Variables de entorno (opcional). Pulse Añadir para abrir la página Añadir variable de entorno.
- Si está creando una función, desde la página Crear función, amplíe la sección Variables de entorno (opcional). Pulse Añadir para abrir la página Añadir variable de entorno.
- Si está actualizando una carga de trabajo existente para añadir variables de entorno, vaya a la aplicación, trabajo o función existente. En la pestaña Configuración, haga clic en Variables de entorno. Para aplicaciones, trabajos y funciones, haz clic en Añadir variable de entorno para abrir la página Añadir variable de entorno.
-
En la página Añadir variable de entorno, cree una variable de entorno de una de las siguientes maneras:
- Para crear una variable de entorno literal, seleccione
Literal value, especifique el nombre de la variable de entorno literal y proporcione un valor. Observe que la secciónResulting definitionmuestra el nombre de la variable de entorno y su valor. - Para crear una variable de entorno que sea una referencia completa a un configmap, seleccione
Reference full configmapy, a continuación, seleccione el configmap existente. Para este caso, se hace referencia a todas las claves del mapa de configuración seleccionado como parte de la variable de entorno. Observe que la secciónResulting definitionmuestra el nombre de las claves en el mapa de configuración, pero no muestra los valores reales de las claves a las que se hace referencia en el mapa de configuración. - Para crear una variable de entorno que haga referencia a una clave individual de un configmap definido, seleccione
Reference key in configmap, seleccione el configmap existente que desee y, a continuación, seleccione la clave a la que hacer referencia como parte de la variable de entorno. Después de seleccionar la clave individual en el mapa de configuración al que desea hacer referencia, observe que la secciónResulting definitionmuestra el nombre de la clave seleccionada en el mapa de configuración, pero no muestra el valor real de la clave a la que se hace referencia en el mapa de configuración. - Para crear una variable de entorno que haga referencia a un secreto, seleccione
Reference full secrety, a continuación, seleccione el secreto existente. Para este caso, se hace referencia a todas las claves del secreto seleccionado como parte de la variable de entorno. Observe que la secciónResulting definitionmuestra el nombre de las claves en el secreto, pero no muestra los valores reales de las claves a las que se hace referencia en el secreto. - Para crear una variable de entorno que haga referencia a una clave individual de un secreto definido, seleccione
Reference key in secret, seleccione el secreto existente que desee y, a continuación, seleccione la clave a la que hacer referencia como parte de la variable de entorno. Después de seleccionar la clave individual en el secreto al que desea hacer referencia, observe que la secciónResulting definitionmuestra el nombre de la clave seleccionada en el secreto, pero no muestra el valor real de la clave a la que se hace referencia en el secreto.
En la consola, solo puede hacer referencia a una clave individual de un mapa de configuración o secreto definido por variable de entorno. Si necesita hacer referencia a más de una clave de un mapa de configuración o un secreto, repita los pasos para definir otra variable de entorno que haga referencia a una clave diferente.
- Para crear una variable de entorno literal, seleccione
-
Pulse Listo para guardar los cambios. Esta acción añade la variable de entorno a la tabla en el separador Variables de entorno. Para continuar añadiendo variables de entorno, pulse Añadir.
-
Complete la creación o actualización de su aplicación, trabajo o función con la variable de entorno definida.
- Si está creando una carga de trabajo, al hacer clic en Crear, la aplicación, trabajo o función se despliega con sus variables de entorno.
- Si está actualizando una aplicación, trabajo o función existente para añadir una variable de entorno, haga clic en Guardar y desplegar para actualizar la aplicación o haga clic en Guardar para actualizar su trabajo o función con las nuevas variables de entorno.
-
Cuando tu aplicación, trabajo o función está en estado
Ready, se actualiza con tus variables de entorno.
La tabla siguiente describe información sobre las variables de entorno.
| Cabecera | Descripción |
|---|---|
Name |
El nombre de la variable de entorno. |
Defined by |
Especifica si la variable de entorno es de tipo literal, o si la variable de entorno es un mapa de configuración o un secreto completamente referenciado, o si se hace referencia a claves específicas de un secreto o de un
mapa de configuración. |
Value or reference |
Muestra el valor literal, el mapa de configuración o el secreto completamente referenciado, o las claves referenciadas de un mapa de configuración o un secreto. |
Por ejemplo, vamos a crear una app y establecer variables de entorno para la app.
- Cree una aplicación denominada
myapp, que utilice la imagenicr.io/codeengine/codeengine. Esta apphello-worldincluye la variable de entornoTARGETy la app imprimeHello ${TARGET} from Code Enginee imprime un listado de variables de entorno. Si la variable de entornoTARGETestá vacía, se devuelveHello World from Code Engine. - Vaya a esta app en la consola.
- Cuando la app esté en estado
Ready, puede probar la app. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. La appmyappdevuelve una respuestaHello World from Code Enginee imprime las variables de entorno que se incluyen en esta app. - Pulse el separador Variables de entorno.
- Cree las siguientes variables de entorno.
- Pulse Añadir para abrir la página Añadir variable de entorno y cree una variable de entorno literal. Por ejemplo, cree una variable de entorno literal con el nombre
literalenvvary con el valor deThis is my literal. Pulse Listo para guardar los cambios. - Pulse Añadir para abrir la página Añadir variable de entorno y cree una variable de entorno que sea una referencia completa a un configmap. Para poder hacer referencia a un mapa de configuración, éste debe existir.
Para este ejemplo, existe un mapa de configuración con el nombre
mycolorconfigmapy contiene los siguientes pares de clave-valor:key1=blue,key2=greenykey3=yellow. Cree una variable de entorno que sea una referencia completa al configmapmycolorconfigmap, incluidos todos sus pares clave-valor. Observe que la secciónResulting definitionmuestra el nombre de las claves en el mapa de configuración, pero no muestra los valores reales de las claves a las que se hace referencia en el mapa de configuración. Pulse Listo para guardar los cambios. - Pulse Añadir para abrir la página Añadir variable de entorno y cree otra variable de entorno que haga referencia a una clave individual de un secreto definido. Para poder hacer referencia a un secreto, éste
debe existir. Para este ejemplo, existe un secreto con el nombre
mynewsecrety contiene los siguientes pares de clave-valor:newsec1=mynewsecret1,newsec2=mynewsecret2ynewsec3=mynewsecret3. Cree una variable de entorno que haga referencia a la clavenewsec2del secretomynewsecret. Observe que la secciónResulting definitionmuestra el nombre de la clave seleccionada en el secreto, pero no muestra el valor real de la clave a la que se hace referencia en el secreto. Pulse Listo para guardar los cambios.
- Pulse Añadir para abrir la página Añadir variable de entorno y cree una variable de entorno literal. Por ejemplo, cree una variable de entorno literal con el nombre
- Pulse Guardar y crear para actualizar la app con las nuevas variables de entorno.
- Cuando la app está en estado
Ready, la app se actualiza con las variables de entorno. - Para probar la app, pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación.
Con esta revisión de app, esta app muestra
Hello World from Code Enginey la salida incluye los nombres de las variables de entorno, que se han añadido en los pasos anteriores.
Cuando se establecen variables de entorno en la carga de trabajo, esta acción añade una nueva variable de entorno o anula una variable de entorno existente. Si tiene una variable de entorno con el mismo nombre y especifica un valor distinto al de la variable de entorno definida anteriormente, la variable de entorno actualizada anula el valor existente. Por ejemplo, si tiene una variable de entorno definida denominada envvar1 y su valor es myenvar1,
y define otra variable de entorno que también se denomina envvar1 y especifica su valor como mynewenvvar1, después de guardar y desplegar la app actualizada o de guardar el trabajo actualizado, la app en ejecución
o el trabajo utiliza la variable de entorno envvar1 con el valor mynewenvvar1.
Actualización de variables de entorno desde la consola
- Para actualizar una variable de entorno existente, vaya a su aplicación, trabajo o función que incluye la variable de entorno que desea cambiar y haga clic en la pestaña Variables de entorno para mostrar su tabla de variables de entorno.
- En la tabla de variables de entorno, pulse la variable de entorno que desea actualizar.
- En la página Editar variable de entorno, realice la actualización y pulse Listo para guardar los cambios. Al editar la variable de entorno, puede cambiar el valor Definido por y sus campos necesarios correspondientes.
- Pulse Guardar y desplegar para desplegar la aplicación con los cambios o pulse Guardar para ejecutar el trabajo con los cambios. Cuando la app o el trabajo está en estado
Ready, la app o el trabajo se actualiza con las variables de entorno.
Creación y actualización de variables de entorno con la CLI
Cree y gestione variables de entorno con la CLI de Code Engine.
Puede definir variables de entorno cuando cree o actualice su aplicación, trabajo o función con la CLI.
Cuando crea una variable de entorno con la CLI, puede hacer referencia a los mapas de configuración o los secretos, o puede crear una variable de entorno literal. Estas instrucciones describen la creación y actualización de una variable de entorno literal con la CLI.
Para ver escenarios detallados sobre cómo hacer referencia a los secretos completos y los mapas de configuración como variables de entorno, alterar las referencias y eliminar referencias en la CLI, consulte Cómo hacer referencia a secretos y mapas de configuración.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
Crear y actualizar variables de entorno para la app
Cree y actualice las variables de entorno para su app de la siguiente manera:
-
Para crear y establecer una variable de entorno para la app, utilice la opción
--envcon el mandatoapp createoapp update. El ejemplo siguiente crea la aplicaciónmyappque utiliza la imagenicr.io/codeengine/codeenginey define las variables de entornoenvAyenvB.ibmcloud ce application create --name myapp --image icr.io/codeengine/codeengine --env envA=A --env envB=B -
Para actualizar las variables de entorno para una aplicación existente, utilice la opción
--envcon el mandatoapp update. El ejemplo siguiente actualiza la aplicaciónmyapppara sobrescribir el valor deenvAy añade la variable de entornoenvC.ibmcloud ce application update --name myapp --env envA=AA --env envC=C
Crear y actualizar variables de entorno para el trabajo
Establezca y actualice las variables de entorno para su trabajo de la siguiente manera:
-
Para crear y establecer una variable de entorno para el trabajo, utilice la opción
--envcon el mandatojob create,job update,jobrun submitojobrun resubmit. El ejemplo siguiente crea el trabajomyjobque utiliza la imagenicr.io/codeengine/codeenginey define la variable de entornoenvA.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --env envA=A -
Para actualizar las variables de entorno para un trabajo existente, utilice la opción
--envcon el mandatojob update,jobrun submitojobrun resubmit.
Ejemplo 1
El ejemplo siguiente actualiza el trabajo myjob para sobrescribir el valor de envA y añade la variable de entorno envB.
ibmcloud ce job update --name myjob --env envA=AA --env envB=B
Ejecute el mandato job get para mostrar detalles del trabajo, incluidas sus variables de entorno.
ibmcloud ce job get --name myjob
Salida de ejemplo
Getting job 'myjob'...
OK
Name: myjob
[...]
Environment Variables:
Type Name Value
Literal envA AA
Literal envB B
Image: icr.io/codeengine/codeengine
[...]
Ejemplo 2
El ejemplo siguiente ejecuta el trabajo myjob, sobrescribe el valor de envA y añade la variable de entorno envD para esta ejecución de trabajo.
ibmcloud ce jobrun submit --job myjob --name myjobrun1 --env envB=BB --env envC=C
Ejecute el mandato jobrun get para visualizar detalles de la ejecución del trabajo, incluidas sus variables de entorno.
ibmcloud ce jobrun get --name myjobrun1
Salida de ejemplo
[...]
Name: myjobrun1
[...]
Job Ref: myjob
Environment Variables:
Type Name Value
Literal envA AA
Literal envB BB
Literal envC C
Image: icr.io/codeengine/codeengine
[...]
Instances:
Name Running Status Restarts Age
myjobrun1-0-0 0/1 Succeeded 0 17s
Cree y actualice variables de entorno para su función
Establezca y actualice las variables de entorno para su función de la siguiente manera.
-
Para crear y establecer una variable de entorno para su función, utilice la opción
--envcon la teclafunction createo el comandofunction updatecomando. El siguiente ejemplo crea la funciónmyfunctionque utiliza el código fuentehttps://github.com/IBM/CodeEngine, y define la variable de entornoenvA.ibmcloud ce function create --name myfunction --runtime nodejs --build-source https://github.com/IBM/CodeEngine --build-context-dir /helloworld-samples/function-codebundle-nodejs --env envA=AEjemplo de salida del comando
fn getcomando.Environment Variables: Type Name Value Literal envA A -
Para actualizar las variables de entorno de una función existente, utilice la opción
--envcon el comandofunction updatecon comando El siguiente ejemplo actualiza la funciónmyfunctionpara sobrescribir el valor deenvAy añade la variable de entornoenvC.ibmcloud ce fn update --name myfunction --env envA=AA --env envC=CEjemplo de salida del comando
fn getcomando.Environment Variables: Type Name Value Literal envA AA Literal envC C
Consideraciones para actualizar las cargas de trabajo con variables de entorno
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).
Supresión de variables de entorno
Cuando ya no necesite una variable de entorno, puede suprimirla.
Supresión de variables de entorno desde la consola
- Desde la consola, vaya a la aplicación, trabajo o función que tiene la variable de entorno que desea eliminar. Pulse el separador Variables de entorno.
- En la tabla de variables de entorno, elimine la variable de entorno que desea eliminar de la aplicación, el trabajo o la función.
- Haga clic en Guardar y desplegar para actualizar la aplicación o haga clic en Guardar para actualizar su trabajo o función con las nuevas variables de entorno. Cuando tu aplicación, trabajo o función está
en estado
Ready, se actualiza con tus variables de entorno actuales.
Supresión de variables de entorno con la CLI
Cuando trabaja con variables de entorno con la CLI, puede hacer referencia a los mapas de configuración o los secretos existentes, o puede trabajar con variables de entorno literales. Estas instrucciones describen la eliminación de una variable de entorno literal con la CLI.
Para ver escenarios detallados sobre la eliminación de referencias a secretos y mapas de configuración completos en la CLI, consulte Cómo hacer referencia a secretos y mapas de configuración.
Suprimir variables de entorno para la app
Para eliminar una variable de entorno para su app, utilice la opción --env-rm con el mandato app update. El ejemplo siguiente
actualiza la aplicación myapp para suprimir la variable de entorno envA.
ibmcloud ce application update --name myapp --env-rm envA
Suprimir variables de entorno para el trabajo
Para eliminar una variable de entorno para su trabajo, utilice la opción --env-rm con el mandato job update o jobrun resubmit.
Utilice la opción --env-rm con el mandato job update para eliminar las variables de entorno establecidas en el trabajo. Utilice la opción --env-rm con el mandato jobrun resubmit para eliminar las variables de entorno establecidas en una ejecución de trabajo especificado.
-
El ejemplo siguiente actualiza el trabajo
myjobpara suprimir la variable de entornoenvA.ibmcloud ce job update --name myjob --env-rm envAUtilice el mandato
job getpara visualizar detalles del trabajo, incluidas sus variables de entorno. -
El ejemplo siguiente vuelve a someter la ejecución del trabajo
myjobrun1y suprime la variable de entornoenvC.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name jobrun2resuba--env-rm envCEjecute el mandato
jobrun getpara visualizar detalles de la ejecución del trabajo, incluidas sus variables de entorno.ibmcloud ce jobrun get --name jobrun2resubaSalida de ejemplo
Getting jobrun 'jobrun2resuba'... Getting instances of jobrun 'jobrun2resuba'... Getting events of jobrun 'jobrun2resuba'... [...] Name: jobrun2resuba [...] Job Ref: myjob Environment Variables: Type Name Value Literal envB BB Image: icr.io/codeengine/codeengine [...] Instances: Name Running Status Restarts Age jobrun2resuba-0-0 0/1 Succeeded 0 21s
Eliminar variables de entorno para su función
Para eliminar una variable de entorno de su función, utilice la opción --env-rm con el comando function update comando. El
siguiente ejemplo actualiza la función myfunction para eliminar la variable de entorno envA.
ibmcloud ce function update --name myfunction --env-rm envA