Kubernetes - configurações diferentes por ambiente

Temos um aplicativo que roda no GKE Kubernetes e espera que um URL de autenticação (para o qual o usuário será redirecionado através do navegador) seja transmitido como variável de ambiente.

Estamos usando diferentes namespaces por ambiente

Portanto, nossa configuração atual do pod é mais ou menos assim:

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

E tudo funciona surpreendentemente, podemos ter quantos ambientes dinâmicos quisermos, apenas aplicamos -f config.yaml e funciona perfeitamente sem alterar um único arquivo de configuração e sem scripts de terceiros.

Agora, para produção, queremos usar um domínio diferente, então o padrão geralhttps://auth.$(ENV).example.org não funciona mais.

Que opções temos?

Como as configurações estão no git repo, crie uma ramificação separada paraprod meio AmbienteTenha um ConfigMap padrão e um específico para o ambiente prod e execute-o através de algum script (se existir)prod-config.yaml então use isso, então useconfig.yaml) - mas com essa abordagem, não podemos mais usar o kubectl diretamenteMova essa configuração para o nível do aplicativo e tenha um arquivo de configuração separado paraprod env - mas esse tipo de ação é contra o aplicativo 12factor?De outros...?

questionAnswers(2)

yourAnswerToTheQuestion