Как смонтировать configMap как монтирование тома в Stateful Set - PullRequest
0 голосов
/ 14 февраля 2020

Я не вижу опции для монтирования configMap как тома в наборе состояний, согласно https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#statefulset -v1-apps только PV C может быть связан с StatefulSet. Но PV C не имеет опции для configMaps.

1 Ответ

2 голосов
/ 14 февраля 2020

Вот минимальный пример:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: example
spec:
  selector:
    matchLabels:
      app: example
  serviceName: example
  template:
    metadata:
      labels:
        app: example
    spec:
      containers:
        - name: example
          image: nginx:stable-alpine
          volumeMounts:
            - mountPath: /config
              name: example-config
      volumes:
        - name: example-config
          configMap:
            name: example-configmap
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: example-configmap
data:
  a: "1"
  b: "2"

В контейнере вы можете найти файлы a и b в /config с содержанием 1 и 2, соответственно.

Некоторое объяснение: вам не нужен PV C для монтирования configmap в качестве тома на ваши модули. PersistentVolumeClaim s - это постоянные диски, с которых вы можете читать / записывать. Примером их использования является база данных, такая как Postgres.

ConfigMap s, с другой стороны, являются структурами ключ-значение только для чтения, которые хранятся в Kubernetes (в его хранилище etcd), которые должны хранить конфигурацию для вашего приложения. Их значения могут быть смонтированы как переменные среды или как файлы, либо по отдельности, либо в целом.

...