我在DigitalOcean上运行了一个K8S群集。我有一个Postgresql数据库在那里运行,我想使用DigitalOcean BlockStorage创建一个卷,由Postgresql pod作为卷使用。有没有关于如何做到这一点的例子?
如果无法使用DigitalOcean blockstorage,那么大多数公司如何为数据库运行其持久性存储?
答案 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进行了测试,工作正常