DigitalOcean blockstorage用于Kubernetes Volume

时间:2017-04-20 22:10:22

标签: kubernetes digital-ocean volume block-storage

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

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

3 个答案:

答案 0 :(得分:2)

还没有官方支持。您可以尝试this github issue中某人的示例:

  

更新:我为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-配置=的/ etc / cloud.config

     

我还在等待Godo驱动程序中的问题得到解决,   在我提交PR(digitalocean / godo#102)之前

答案 1 :(得分:0)

我在这里找到了关于flexvolumes的链接。这提到了如何自定义加载供应商卷。还有一个关于如何在script

执行此操作的脚本

答案 2 :(得分:0)

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