Los ConfigMaps funcionan como variables de entorno o archivos de configuración montados en los contenedores de aplicaciones, lo que permite modificar la configuración después del despliegue sin necesidad de recompilar la imagen.
Las variables de entorno en SAE solo surten efecto durante la fase de ejecución de la instancia. No se admite la inyección de variables de entorno durante la fase de compilación. Dado que las variables de entorno son un atributo de despliegue de la aplicación, se inyectan en el entorno de ejecución cuando se inicia el contenedor y no forman parte del proceso de construcción de la imagen.
Para obtener datos de configuración de forma dinámica desde un centro de configuración, consulte Use Nacos in MSE o Manage distributed configurations (ACM).
Para almacenar información confidencial, como claves y certificados, consulte Manage and use Secrets (K8s Secret).
Crear un ConfigMap
-
En la página SAE ConfigMaps, seleccione la región y el namespace de su aplicación y, a continuación, haga clic en Create.
Especifique un ConfigMap Name personalizado.
-
En Configure Mappings, seleccione un modo de edición para definir los pares clave-valor:
Edit using form: Haga clic en Add Variable e introduzca una clave con su valor correspondiente. Puede agregar varios pares clave-valor. Para contenido de configuración extenso, haga clic en el icono
junto al valor para pegar y editar dicho valor en un editor más amplio.-
Edit in JSON format: En el editor de código, introduzca uno o más pares clave-valor. Las claves y los valores de tipo cadena deben ir entre comillas dobles (
""). Por ejemplo:{ "nv_shell": "/bin/sh", "nginx_conf": "daemon off;\nworker_processes 2;\nuser www-data;\n\nevents {\n use epoll;\n worker_connections 128;\n}\n\nerror_log logs/error.log info;\n\nhttp {\n server_tokens off;\n include mime.types;\n charset utf-8;\n\n access_log logs/access.log combined;\n\n server {\n server_name localhost;\n listen 127.0.0.1:80;\n\n error_page 500 502 503 504 /50x.html;\n\n location / {\n root html;\n }\n\n }" } -
Edit in YAML format: En el editor de código, introduzca uno o más pares clave-valor. Por ejemplo:
nv_shell: /bin/sh nginx_conf: |- daemon off; worker_processes 2; user www-data; events { use epoll; worker_connections 128; } error_log logs/error.log info; http { server_tokens off; include mime.types; charset utf-8; access_log logs/access.log combined; server { server_name localhost; listen 127.0.0.1:80; error_page 500 502 503 504 /50x.html; location / { root html; } }
-
Localice el ConfigMap que creó en la lista Configuration Item (ConfigMap). Desde allí podrá Edit, Copy, View Record o Delete el elemento.
ImportanteUn ConfigMap solo surte efecto después de use it as an environment variable o mount it as a file to your application's file system.
Si modifica un ConfigMap, debe volver a desplegar cualquier aplicación que lo referencie para que los cambios surtan efecto.
Eliminar un ConfigMap puede provocar fallos en las aplicaciones que lo referencian. Antes de eliminar un ConfigMap, quite todas las referencias al mismo en sus aplicaciones.
Usar un ConfigMap como variable de entorno
-
Crear una aplicación
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior y, a continuación, haga clic en Create Application. En la página Application Basic Information, configure los parámetros y haga clic en Next: Advanced Settings.
Modificar una aplicación en ejecución
AvisoDespués de volver a desplegar una aplicación, esta se reinicia. Para evitar errores impredecibles, como interrupciones del servicio, se recomienda desplegar las aplicaciones fuera del horario de máxima actividad.
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior. Haga clic en el ID de la Application objetivo para abrir la página de detalles de la aplicación. En el panel de navegación izquierdo, haga clic en Basic Information. En la esquina superior derecha, haga clic en Deploy Application.
Modificar una aplicación detenida
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior. Haga clic en el ID de la Application objetivo para abrir la página de detalles de la aplicación. Haga clic en Basic Information y, a continuación, en Modify Application Configuration.
En la sección Environment Variable, establezca Type en Reference ConfigMap. Especifique un Variable Name personalizado para la variable de entorno en su aplicación y, a continuación, seleccione el ConfigMap Name y la Key que desea referenciar. Puede agregar varias variables. Si decide referenciar todas las claves del ConfigMap, no es necesario especificar un Variable Name, ya que los nombres originales de las claves se utilizarán como nombres de las variables de entorno.
Espere a que finalice el despliegue de la aplicación. Para comprobar la configuración, log on to the web shell of the application instance y ejecute el comando
env | grep <variable_name>. Reemplace<variable_name>con el nombre de la variable que configuró. Si la salida muestra el nombre y el valor correctos de la variable, la configuración se realizó correctamente.
Montar un ConfigMap como archivo
Al montar un ConfigMap como archivo, el valor de la clave especificada se escribe como contenido del archivo. Puede personalizar la ruta y el nombre del archivo. El archivo montado sobrescribe cualquier archivo existente en la misma ruta.
Utilice este método para gestionar archivos de configuración sin reconstruir la imagen del contenedor. Para modificar un archivo de configuración existente, copie su contenido en un valor del ConfigMap y luego monte el ConfigMap en la ruta original del archivo.
-
Crear una aplicación
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior y, a continuación, haga clic en Create Application. En la página Application Basic Information, configure los parámetros y haga clic en Next: Advanced Settings.
Modificar una aplicación en ejecución
AvisoDespués de volver a desplegar una aplicación, esta se reinicia. Para evitar errores impredecibles, como interrupciones del servicio, se recomienda desplegar las aplicaciones fuera del horario de máxima actividad.
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior. Haga clic en el ID de la Application objetivo para abrir la página de detalles de la aplicación. En el panel de navegación izquierdo, haga clic en Basic Information. En la esquina superior derecha, haga clic en Deploy Application.
Modificar una aplicación detenida
En la página SAE Application List, seleccione una región y un namespace de destino en la barra de navegación superior. Haga clic en el ID de la Application objetivo para abrir la página de detalles de la aplicación. Haga clic en Basic Information y, a continuación, en Modify Application Configuration.
En la sección Configuration Management, haga clic en + Add. Seleccione el ConfigMap Name y la Key que desea montar (o elija montar todas las claves). A continuación, especifique la Mount Path. Si va a montar una sola clave, proporcione una ruta absoluta que incluya el nombre del archivo. Si va a montar todas las claves, proporcione una ruta absoluta a un directorio; SAE utilizará automáticamente los nombres de las claves como nombres de archivo. Puede agregar varios puntos de montaje.
Espere a que finalice el despliegue de la aplicación. Para comprobar la configuración, log on to the web shell of the application instance y revise el contenido del archivo en la ruta de montaje.