Kubernetes: diferentes configuraciones por entorno

Tenemos una aplicación que se ejecuta en GKE Kubernetes y que espera que se pase una URL de autenticación (a la que se redireccionará al usuario a través de su navegador) como variable de entorno.

Estamos usando diferentes espacios de nombres por entorno

Entonces, nuestra configuración actual de pod se parece a esto:

  env:
    - name: ENV
      valueFrom:
        fieldRef:
          fieldPath: metadata.namespace
    - name: AUTH_URL
      value: https://auth.$(ENV).example.org 

Y todo funciona de manera sorprendente, podemos tener tantos entornos dinámicos como queramos, solo aplicamos -f config.yaml y funciona perfectamente sin cambiar un solo archivo de configuración y sin ningún script de terceros.

Ahora, para la producción, queremos usar diferentes dominios, por lo que el patrón generalhttps://auth.$(ENV).example.org ya no funciona

¿Qué opciones tenemos?

Como las configuraciones están en el repositorio de git, cree una rama separada paraprod ambienteTenga un ConfigMap predeterminado y uno específico para el entorno de producción, y ejecútelo a través de algún script (si existe)prod-config.yaml luego usa eso, de lo contrario usaconfig.yaml) - pero con este enfoque ya no podemos usar kubectl directamenteMueva esta configuración al nivel de aplicación y tenga un archivo de configuración separado paraprod env - pero esto va en contra de la aplicación 12factor?Otro...?

Respuestas a la pregunta(2)

Su respuesta a la pregunta