我有一个在 DigitalOcean 上运行的 K8S 集群。我有一个 Postgresql 数据库在那里运行,我想使用 DigitalOcean BlockStorage 创建一个卷,供 Postgresql pod 用作卷。有没有关于如何做到这一点的例子?
如果无法使用 DigitalOcean 块存储,那么大多数公司如何为数据库运行持久存储?
我有一个在 DigitalOcean 上运行的 K8S 集群。我有一个 Postgresql 数据库在那里运行,我想使用 DigitalOcean BlockStorage 创建一个卷,供 Postgresql pod 用作卷。有没有关于如何做到这一点的例子?
如果无法使用 DigitalOcean 块存储,那么大多数公司如何为数据库运行持久存储?
还没有官方支持。您可以在此 github 问题中尝试某人的示例:
更新:我完成了为 digitalocean 编写的音量插件。附加/分离正在我的集群上工作。寻找愿意在他们的 k8s digitalocean 集群上进行测试的人。我的分支是 https://github.com/wardviaene/kubernetes/tree/do-volume
您可以在 pod yml 中使用以下规范:
spec: containers: - name: k8s-demo image: yourimage volumeMounts: - mountPath: /myvol name: myvolume ports: - containerPort: 3000 volumes: - name: myvolume digitaloceanVolume: volumeID: mykubvolume fsType: ext4 Where mykubvolume is the volume created in DigitalOcean in the same region.
您将需要添加创建配置文件:
[Global] apikey = do-api-key region = your-region 并将这些参数添加到您的 kubernetes 进程中:--cloud-provider=digitalocean --cloud-config=/etc/cloud.config
我仍在等待 godo 驱动程序中的问题得到解决,然后才能提交 PR (digitalocean/godo#102)
我在这里找到了这个关于flexvolumes 的链接 这提到了如何自定义加载供应商卷。还有一个关于如何在脚本中执行此操作的脚本
用于 DigitalOcean 块存储的容器存储接口 (CSI) 驱动程序。 https://github.com/digitalocean/csi-digitalocean 已经用statefulset MySql测试过,工作正常