Adding Kubernetes-Users group to gather thinking from the community.
 

On Tuesday, June 6, 2017 at 10:55:25 PM UTC-7, krma...@gmail.com wrote:
>
> Thanks all. The suggestion to use the reclaimPolicy of delete would not 
> work.  As Jeff points out, in case of Stateful apps, we would like to not 
> delete the volumes immediately  but keep them around for some time and 
> garbage collect them later.
>
> @David Could you elaborate on the inefficient utilization when you mention 
> the following  ?"If your set of tenants is very static, i guess you could 
> have one StorageClass per tenant and only use "recycle" reclaim policy 
> (which seems to be what you're advocating). But this seems pretty 
> inefficient from a utilization standpoint, as you'd end up accumulating the 
> max number of PVs used by each tenant."
>
> @David we are interested in RBD to start with. We would also be doing EBS 
> Volumes as well. 
>
> @Mike yes looks like encryption seems like a reasonable solution as long 
> as we can separate the encryption key per tenant and only the tenant has 
> access to its own encryption keys. EBS volumes are the only ones supporting 
> encryption. So for RBD , we are out of luck. Is there a general pattern of 
> doing encryption with external provisioning  ? What about incorporating in 
> in-tree plugins ?
>
> @Clayton Doesn't OpenShift have  use cases for keeping the volumes around 
> after the pods are gone ? Does OpenShift do any kind of multi tenancy on 
> top ?
>
> @Tim thanks. Not advocating that PV should or should not be namespaced but 
> just trying to understand the rationale for it. One thinking was if PV's 
> were dynamically provisioned in the namespace of the customer, that might 
> further limit their access.
>
> @Jeff i think your understanding of the problem is correct. But its 
> possible, i am solving the wrong problem and thats why i am seeking out for 
> help.
>
>
> Overall i want a multi tenant model, where:-
> -- accidentally its not possible for one tenant to mount a volume created 
> by another tenant
> -- its more secure and attacks /compromise limit the surface area of 
> attacks and access to volumes
>
> In the absence of encryption if there is a Kubernetes native way of 
> ACL'ing the PV's that doesnt rely on the underlying storage implementation 
> would be great. 
>
>
> On Monday, June 5, 2017 at 9:17:49 AM UTC-7, Jeff Vance wrote:
>>
>> "... guarantee that a volume allocated to one customer can never be 
>> accidentally allocated/mounted/accessed by another customer"
>>
>> I don't see "delete" as  the answer here since this deletes the actual 
>> data in the volume. What if the customer has legacy data or important data 
>> that lives beyond the pod(s) accessing it? Perhaps an "exclusive" 
>> accessMode might help? FSGroup IDs can control access and there's been talk 
>> about  adding ACLs to PVs. Or, maybe I've misunderstood the question?
>>
>> jeff
>>
>> On Saturday, June 3, 2017 at 11:39:16 PM UTC-7, krma...@gmail.com wrote:
>>>
>>> My team is currently trying to enable Stateful Apps for our internal 
>>> customers. One requirement that keeps coming up is how to isolate PV's of 
>>> one internal customer from PV's of another internal customer. 
>>>
>>> I see the following isolation mechanisms:-
>>> - A PV when bound to a PVC(inside namespace A) cannot be bound to 
>>> another PVC(inside namespace B) unless the unbind happens and hence are 
>>> exclusive. 
>>> - When using StorageClass, A PV of certain class can only be bound to 
>>> PVC of the same class. So that means PVC(of class A) can only be bound to 
>>> PV(of class A). This allows a PV allocated to one customer to not 
>>> accidently get allocated to another customer)
>>>
>>> While the above isolation is good, its not enough(as i understand it). 
>>> In a multi -tenant environment we want mechanisms which can guarantee that 
>>> a volume allocated to one customer can never be accidentally 
>>> allocated/mounted/accessed by another customer. 
>>>
>>> What is Kubernetes recommendation , on how to achieve this isolation ?
>>>
>>> Few more questions:-
>>> - Why are Persistent Volumes not namespaced ?
>>> - Is one or more  StorageClass'es per Customer a good multi tenancy 
>>> model ? What other recommendations we have ?
>>>
>>>
>>> Would love to hear the general thinking and around this from both 
>>> developers and community
>>> -Mayank
>>>
>>

-- 
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+unsubscr...@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.

Reply via email to