Nossos aplicativos são organizados da seguinte forma:
- Um único conjunto "principal" de serviços implantado por um
core
gráfico Helm - Vários aplicativos individuais implantados por seus próprios gráficos Helm
- Vamos chamá-los de A, B e C
Portanto, a ordem normal de instalação é:
helm install core
helm install A
... seguido por B e C, mas talvez você não tenha o alfabeto inteiro em qualquer instalação.
Tenho um componente compartilhado implantado pelo core
gráfico e quero que cada um dos gráficos do aplicativo A, B e C possa contribuir com configuração para esse componente.
Eu sei que poderia especificar uma anotação para o Kubernetes configMap
e fazer com que o componente principal configure uma observação do Kubernetes ou verifique periodicamente em busca de novos configMaps, mas prefiro não ter que incorporar conhecimento do Kubernetes nesse componente.
Se a configuração fosse um único configMap, eu poderia montá-lo no pod do componente principal como um arquivo/diretório de arquivos e tudo bem. No entanto, não pode ser um único configMap porque vários gráficos (A, B e C) precisam contribuir opcionalmente para ele.
Existe uma maneira de atingir esse padrão sem que o componente principal chame as APIs do Kubernetes para consultar sua configuração?