2

根据https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#statefulset-v1-apps只有 PVC 可以与 "StatefulSet" 相关联。但是 PVC 没有 configMaps 的选项。

4

1 回答 1

11

这是一个最小的例子:

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"

在容器中,您可以在、ab下找到文件/config,其内容分别为1和。2

一些解释:您不需要 PVC 将 configmap 作为卷安装到您的 pod。PersistentVolumeClaims 是持久驱动器,您可以对其进行读取/写入。它们的使用示例是数据库,例如 Postgres。

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

于 2020-02-14T16:28:31.387 回答