Я использую один и тот же кластер для двух пространств имен: staging и production. Единственные различия между двумя пространствами имен:
- Тома, подключенные к определенным модулям (очевидно, отдельное сохранение между staging и production!)
- Пара веб-URL для относительной адресации
- Пара IP-адресов баз данных, используемых для сложной персистентности.
Мне удалось адресовать (2) и (3) следующим образом, чтобы поддерживать один файл YAML для всех контроллеров репликации. эм>:
- Используйте ConfigMaps локально для пространства имен, чтобы определить любую конфигурацию, которая передается через переменные среды в модули.
- Используйте Службы с Конечными точками для обработки записи DNS, указывающей на разные внутренние IP-адреса.
Однако я не могу найти удовлетворительный способ получить ссылку на gcePersistentDisk pdName - Кажется, я не могу использовать ConfigMap, поэтому немного запутался. Что было бы подходящим способом сделать это? Лучшая альтернатива, по-видимому, состоит в том, чтобы поддерживать 2 отдельных файла YAML с разными строками, но это имеет запах кода, поскольку нарушает DRY.
Кроме того, любой конструктивный комментарий к остальной части моей установки, как указано выше, высоко ценится :-)