如何将 configMap 挂载为有状态集中的卷挂载

SKS*_*SKS 1 kubernetes kubernetes-pvc kubernetes-statefulset configmap

根据https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#statefulset-v1-apps,我没有看到将 configMap 作为卷安装在 statefulset 中的选项,只有 PVC 可以与“StatefulSet”相关联。但是 PVC 没有 configMaps 的选项。

Utk*_*mir 9

这是一个最小的例子:

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"
Run Code Online (Sandbox Code Playgroud)

在容器中,您可以找到文件ab下,分别/config包含内容12

一些解释:您不需要 PVC 来将 configmap 作为卷挂载到您的 pod。PersistentVolumeClaims 是永久性驱动器,您可以从中读取/写入。它们的使用示例是数据库,例如 Postgres。

ConfigMap另一方面,s 是存储在 Kubernetes 内部(在其 etcd 存储中)的只读键值结构,用于存储应用程序的配置。它们的值可以单独或全部挂载为环境变量或文件。