5

我有一个在 DigitalOcean 上运行的 K8S 集群。我有一个 Postgresql 数据库在那里运行,我想使用 DigitalOcean BlockStorage 创建一个卷,供 Postgresql pod 用作卷。有没有关于如何做到这一点的例子?

如果无法使用 DigitalOcean 块存储,那么大多数公司如何为数据库运行持久存储?

4

3 回答 3

2

还没有官方支持。您可以在此 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)

于 2017-04-21T02:56:45.747 回答
0

我在这里找到了这个关于flexvolumes 的链接 这提到了如何自定义加载供应商卷。还有一个关于如何在脚本中执行此操作的脚本

于 2017-04-21T22:32:30.597 回答
0

用于 DigitalOcean 块存储的容器存储接口 (CSI) 驱动程序。 https://github.com/digitalocean/csi-digitalocean 已经用statefulset MySql测试过,工作正常

于 2018-06-19T07:17:10.980 回答