Kubernetes Dynami c Конфигурирование в StatefulSet - PullRequest
0 голосов
/ 20 января 2020

В Kubernetes у вас есть возможность динамически захватывать имя модуля и ссылаться на него в файле yaml (поле Pod) следующим образом:

env:
- name: POD_NAME
  valueFrom:
    fieldRef:
      fieldPath: metadata.name

и ссылаться на него позже в файле yaml следующим образом: :

- name: FOO
  value: $(POD_NAME)-bar

Где в случае StatefulSet значение foo может быть чем-то вроде «app_thing-0-bar, app_thing-1-bar ... et c». Однако, похоже, это не работает при динамической установке имени карты конфигурации. Например, следующий configmap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: app_thing-0-config
data:
  FOO: BAR

и это в yaml развертывания StatefulSet:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: app_thing
.
.
.
.
.
    envFrom:
    - configMapRef:
      name: $(POD_NAME)-config

не будет правильно ссылаться на configmap, так как он не похож на $ ( Синтаксис. Есть ли способ сделать это, не прибегая к контейнерам init и сценариям точки входа?

1 Ответ

0 голосов
/ 21 января 2020

Если я вас правильно понимаю, есть инструмент, который может заставить его работать. Она называется RELOADER :

Проблема: Мы хотели бы посмотреть, произойдут ли какие-либо изменения в ConfigMap и / или Secret; затем выполните последовательное обновление соответствующих DeploymentConfig, Deployment, Daemonset и Statefulset

Решение: Reloader может наблюдать за изменениями в ConfigMap и Secret и выполнять непрерывные обновления на модулях с их соответствующими DeploymentConfigs, Deployments, Daemonsets и Statefulsets.

Вы можете найти всю необходимую информацию по ссылке выше. Также, если вам нужно больше информации, чем вы можете проверить документацию .

Пожалуйста, дайте мне знать, если это помогло.

...