Way to implement volume claims on DigitalOcean?

674 views
Skip to first unread message

Arve Knudsen

unread,
May 22, 2017, 9:07:11 AM5/22/17
to kubernet...@googlegroups.com
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

Michelle Au

unread,
May 22, 2017, 1:29:32 PM5/22/17
to Kubernetes user discussion and Q&A
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Arve Knudsen

unread,
May 22, 2017, 1:32:34 PM5/22/17
to Kubernetes user discussion and Q&A
Thanks Michelle! Will look into this. Can you tell me how this compares to using Rook for the same purpose? 

Best,
Arve

On Mon, May 22, 2017 at 7:29 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

On Mon, May 22, 2017 at 6:06 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

Michelle Au

unread,
May 22, 2017, 1:52:14 PM5/22/17
to Kubernetes user discussion and Q&A
Hi Arve,

I am not familiar with Rook so I cannot compare.  Maybe someone else who has used it can chime in.

-Michelle

On Mon, May 22, 2017 at 10:32 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Thanks Michelle! Will look into this. Can you tell me how this compares to using Rook for the same purpose? 

Best,
Arve
On Mon, May 22, 2017 at 7:29 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernetes-users@googlegroups.com> wrote:
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

On Mon, May 22, 2017 at 6:06 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

Arve Knudsen

unread,
May 22, 2017, 5:53:52 PM5/22/17
to Kubernetes user discussion and Q&A
Michelle, how would you exactly write PersistentVolume definitions to access each DigitalOcean volume (assume there are 2)? When studying the documentation right now, I'm just not sure quite how it's to be done. I'm probably missing something.

Thanks,
Arve

On Mon, May 22, 2017 at 7:52 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Hi Arve,

I am not familiar with Rook so I cannot compare.  Maybe someone else who has used it can chime in.

-Michelle
On Mon, May 22, 2017 at 10:32 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Thanks Michelle! Will look into this. Can you tell me how this compares to using Rook for the same purpose? 

Best,
Arve
On Mon, May 22, 2017 at 7:29 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

On Mon, May 22, 2017 at 6:06 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

Michelle Au

unread,
May 22, 2017, 7:59:14 PM5/22/17
to Kubernetes user discussion and Q&A
Oh sorry, I thought you meant that there was already a volume plugin that existed and only dynamic provisioning was not supported.  But it looks like the plugin doesn't even exist at all.

There have been attempts to write a volume plugin, but none have gotten merged.  This is the most recent I could find.

So in order to get it to work, you would have to implement the volume plugin first.  There's a few methods you can try, all of which are not great...
1) Using the workaround mentioned in the PR
2) Implement a flex volume plugin, which is still evolving and may change in future releases
3) Implement an in-tree plugin
4) Wrap the digital ocean volumes in one of the supported K8s volumes, like nfs



On Mon, May 22, 2017 at 2:53 PM, Arve Knudsen <arve.k...@gmail.com> wrote:
Michelle, how would you exactly write PersistentVolume definitions to access each DigitalOcean volume (assume there are 2)? When studying the documentation right now, I'm just not sure quite how it's to be done. I'm probably missing something.

Thanks,
Arve
On Mon, May 22, 2017 at 7:52 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernetes-users@googlegroups.com> wrote:
Hi Arve,

I am not familiar with Rook so I cannot compare.  Maybe someone else who has used it can chime in.

-Michelle
On Mon, May 22, 2017 at 10:32 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Thanks Michelle! Will look into this. Can you tell me how this compares to using Rook for the same purpose? 

Best,
Arve
On Mon, May 22, 2017 at 7:29 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernetes-users@googlegroups.com> wrote:
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

On Mon, May 22, 2017 at 6:06 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscribe@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.

Arve Knudsen

unread,
May 23, 2017, 3:54:20 AM5/23/17
to Kubernetes user discussion and Q&A
Thanks for clarifying, Michelle!

Best,
Arve

On Tue, May 23, 2017 at 1:59 AM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Oh sorry, I thought you meant that there was already a volume plugin that existed and only dynamic provisioning was not supported.  But it looks like the plugin doesn't even exist at all.

There have been attempts to write a volume plugin, but none have gotten merged.  This is the most recent I could find.

So in order to get it to work, you would have to implement the volume plugin first.  There's a few methods you can try, all of which are not great...
1) Using the workaround mentioned in the PR
2) Implement a flex volume plugin, which is still evolving and may change in future releases
3) Implement an in-tree plugin
4) Wrap the digital ocean volumes in one of the supported K8s volumes, like nfs


On Mon, May 22, 2017 at 2:53 PM, Arve Knudsen <arve.k...@gmail.com> wrote:
Michelle, how would you exactly write PersistentVolume definitions to access each DigitalOcean volume (assume there are 2)? When studying the documentation right now, I'm just not sure quite how it's to be done. I'm probably missing something.

Thanks,
Arve
On Mon, May 22, 2017 at 7:52 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Hi Arve,

I am not familiar with Rook so I cannot compare.  Maybe someone else who has used it can chime in.

-Michelle
On Mon, May 22, 2017 at 10:32 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Thanks Michelle! Will look into this. Can you tell me how this compares to using Rook for the same purpose? 

Best,
Arve
On Mon, May 22, 2017 at 7:29 PM 'Michelle Au' via Kubernetes user discussion and Q&A <kubernet...@googlegroups.com> wrote:
Until dynamic provisioning for DigitalOcean is supported, then you can statically create DigitalOcean PVs and give them a storageclass name.  Then in your Statefulset PVC template, just specify the same storageclass name.

You can also look into writing an external provisioner (https://github.com/kubernetes-incubator/external-storage)

On Mon, May 22, 2017 at 6:06 AM, Arve Knudsen <arve.k...@gmail.com> wrote:
Hello!

I'm looking to deploy a RethinkDB cluster as a StatefulSet on DigitalOcean. I'm using Ross Kukulinski's example as a starting point, but this is written for AWS. My understanding, from discussing on the CoreOS-dev mailing list, is that support is as of yet lacking in Kubernetes for dynamically provisioning volumes on DigitalOcean in response to PersistentVolumeClaims. How should I implement StatefulSets with persistent storage on DigitalOcean with the current version of Kubernetes? Might the best way forward, in order to deploy on DigitalOcean, be to simply write a DO cloud provider backend?

Thanks!
Arve

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-use...@googlegroups.com.
To post to this group, send email to kubernet...@googlegroups.com.

Arve Knudsen

unread,
May 23, 2017, 9:56:11 AM5/23/17
to Kubernetes user discussion and Q&A
I decided to go with Rook as provider of persistent volumes on DigitalOcean, it works well so far! It's alpha level software at this stage however, so I'm keeping that in mind.

Best,
Arve
Reply all
Reply to author
Forward
0 new messages