首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态创建持久卷声明?

如何动态创建持久卷声明?
EN

Stack Overflow用户
提问于 2019-10-22 12:55:05
回答 1查看 439关注 0票数 0

我正在一个裸金属K8s集群上运行我的应用程序,我使用的是,它负责持久的容量,我只需要创建一个持久的卷声明。我还在K8s上有一个DB (K8s),可以对其进行集群,并且这个DB的每个实例都有自己的持久卷声明,而且一切都很好,而且工作正常。

我的问题是:我是否可能动态地创建持久卷声明,这样我就可以扩展类似于kubectl scale deployment registry --replicas=3的DB,而不需要有人为每个副本创建一个持久卷声明?

我现在的yaml文件:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: registry-slave
  labels:
    io.kompose.service: registry-slave
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: registry-slave
  template: # pod template
    metadata:
      labels:
        app: registry-slave
        io.kompose.service: registry-slave
    spec:
      containers:
      - name: registry-slave
        image: rethinkdb:2.3.6
        command: ["rethinkdb"]
        args:
        - --bind
        - "all"
        - --no-update-check
        - --join
        - "registry:29015"
        - --canonical-address
        - "$(MY_POD_IP):29015"
        volumeMounts:
        - name: rdb-local-data
          mountPath: /rethinkdb_data
        env:
        - name: MY_POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
      volumes:
      - name: rdb-local-data
        persistentVolumeClaim:
          claimName: registry-slave-claim
      restartPolicy: Always

持续数量索赔:

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: registry-slave-claim
  namespace: {{ .Release.Namespace }}
  annotations:
    volume.beta.kubernetes.io/storage-class: nfs-client
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 500Mi
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-22 13:32:20

部署只允许在所有副本中有一个PersistantVolumeClaim,这是因为部署是为有效的无状态服务设计的。

您应该考虑使用StatefulSet,这是基于模板部署有状态应用程序的Kubernetes方法。StatefulSets可以包括一个volumeClaimTemplate,其中每个复制创建一个PVC。这将为您的应用程序提供稳定存储,包括防止自动删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58504818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档