【问题标题】:How to write to gcePersistentDisk while mounted to multiple Kubernetes pod如何在挂载到多个 Kubernetes pod 时写入 gcePersistentDisk
【发布时间】:2018-11-29 15:44:36
【问题描述】:

我目前正在为我的 kubernetes 部署中的每个 pod 安装一个 gcePersistentDisk。由于我希望从磁盘读取多个 pod,因此我必须将其挂载为只读。我的部署 yaml 文件如下所示:

apiVersion: extensions/v1beta1
kind: Deployment
spec:
  replicas: 1
  ...
  ...
  template:
    ...
    ...
    spec:
      containers:
      - image: ...
        ...
        ...
        volumeMounts:
          - mountPath: /my-volume
            name: my-volume
            readOnly: true
      ...
      ...
      volumes:
      - name: my-storage
        gcePersistentDisk:
          pdName: my-disk
          fsType: ext4
          readOnly: true

现在,为了将新内容写入磁盘,我需要将部署扩展到 0,然后启动一个 kubernetes 作业,将磁盘安装到具有读/写访问权限的单个 pod,写入磁盘并然后再次扩大部署。

有没有一种方法可以在不取下所有 pod 的情况下做到这一点? 是否可以/建议在 kubernetes 部署中执行“热交换”永久性磁盘之类的操作?

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    看需求:

    1)- 当前用例没有其他选择。每次都需要缩小 Pod。

    2)- 您可以使用不同类型的 PV,然后使用 ReadWriteMany 访问模式 [1] 和 [2]。

    3)- 热插拔:意思是改变部署(kubectl apply)?不确定,需要澄清。

    4)- 另一种选择是使用 NFS [2],但这显然是一种完全不同的方法。

    [1]https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes#access_modes

    [2] 访问模式https://kubernetes.io/docs/concepts/storage/persistent-volumes/

    【讨论】:

      猜你喜欢
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 2021-06-14
      • 2021-10-30
      • 2020-12-07
      相关资源
      最近更新 更多