首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes在副本之间共享存储

Kubernetes在副本之间共享存储
EN

Stack Overflow用户
提问于 2021-07-08 17:47:20
回答 1查看 59关注 0票数 0

我们让Kubernetes在我们自己的服务器上运行。对于持久性存储,我们有一个NFS服务器。这很好用。

现在,我们希望部署一个具有多个副本的应用程序,这些副本应该在它们之间共享存储,但存储不应该是持久的。当pods被删除时,数据也应该消失。

我希望我能通过以下几点来实现它

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      volumes:
      - name: shared-data
        emptyDir: {}

      containers:
        image: nginx:latest
        imagePullPolicy: IfNotPresent
        name: nginx
        volumeMounts:
        - name: shared-data
          mountPath: /shared-data
        resources:
          limits:
            memory: 500Mi

所有复制副本都有/ shared - data,但当一个复制副本将数据存储在该文件夹中时,另一个复制副本无法看到该文件,因此该文件不是共享的。

我有什么选择?

EN

回答 1

Stack Overflow用户

发布于 2021-07-08 18:46:06

您可以使用PVC在pods之间共享数据。然后,您可以为pod设置一个preStop lifecycle hook,以便在pod被删除时清理数据。

下面是在pod上添加preStop钩子的示例:https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/

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

https://stackoverflow.com/questions/68299260

复制
相关文章

相似问题

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