kube-object-storage / lib-bucket-provisioner

Library for the dynamic provisioning of object store buckets to be used by object store providers.
Apache License 2.0
20 stars 22 forks source link

Design Discussion and Review #2

Closed copejon closed 5 years ago

copejon commented 5 years ago

This issue is to be the primary thread for early design dialogue.

jeffvance commented 5 years ago

@bassam believes a centralized bucket controller is a better design.

jeffvance commented 5 years ago

Here's a comment block to discuss a centralized controller:

  1. where does it live?
  2. a plus is each provisioner can have lesser permissions, only central controller needs full access across all namespaces.
  3. differs from k8s external provisioning where each provisioner is essentially its own controller.
  4. looking at k8s pcv controller code: findProvisionablePlugin returns nil, class, nil for the case of an external provisioner. An annotation is set to the provisioner's name, and since the plugin is nil the controller returns "", nil (L1385).
jeffvance commented 5 years ago

Here's a comment block to discuss binding and topology aware binding: First, in this context, binding refers to scheduling an app pod on a node that best meets the constraints (if any) of the pod's PVs. This is very different from the use of binding to refer to the "connection" or mapping of a PV and a PVC.

The use of binding in the main README file means OB <-> OBC binding only -- nothing to do with node/topology binding. There are likely some use cases where topology aware pod <-> node binding is beneficial but we'd like to defer this to a later phase of bucket provisioning.

jeffvance commented 5 years ago

Issues and/or PRs against the design doc are the going forward way to discuss/address design feedback.