我正在尝试在使用多个副本的GKE中创建一个部署。我有一些静态数据,希望在每个 pods 中都可以使用。此数据将不会更新,不需要写入。

我决定将PV与ReadOnlyMany存储类一起使用。问题是,我不知道如何实际将数据传输到该卷-因为它是只读的。我尝试使用

gcloud compute scp /local/path instance:/remote/path

但是,当然,我得到一个权限错误。然后,我尝试通过控制台创建新的PV。我将其附加到VM
gcloud compute instances attach disk

安装并格式化磁盘,传输数据,卸载磁盘,将其与VM分离,最后在the documentation之后创建PVC。我将存储类更改为ReadOnlyMany,唯一的区别。

但是,当我尝试将部署扩展到多个副本时,仍然收到错误消息,指出磁盘已连接到另一个节点。

因此,如何创建要在ReadOnlyMany中使用的卷并用数据填充磁盘?还是因为不需要写入而有更好的方法?

提前致谢

最佳答案

为我工作。在Pod模板中使用持久性批量声明时,您是否已指定readOnly: true

volumes:
- name: my-volume
  persistentVolumeClaim:
    claimName: my-readonly-pvc
    readOnly: true

在这里查看详细信息
https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/readonlymany-disks

关于kubernetes - 如何预填充ReadOnlyMany永久卷,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57754103/

10-11 05:45