Skip to content
This repository has been archived by the owner on May 6, 2022. It is now read-only.

TPRs and Custom Resource Definitions (CRDs) #987

Closed
arschles opened this issue Jun 26, 2017 · 24 comments
Closed

TPRs and Custom Resource Definitions (CRDs) #987

arschles opened this issue Jun 26, 2017 · 24 comments

Comments

@arschles
Copy link
Contributor

CustomResourceDefinitions (CRDs) will eventually replace Third Party Resources (TPRs). This issue is for tracking that transition and the work we need to do to follow it.

Related issues:

@kibbles-n-bytes
Copy link
Contributor

Blog post about the change: https://coreos.com/blog/custom-resource-kubernetes-v17

@MHBauer
Copy link
Contributor

MHBauer commented Jun 28, 2017

kubernetes/kubernetes#48152 plan to remove in 1.8

@mengqiy
Copy link
Contributor

mengqiy commented Jun 30, 2017

Anyone working on this already? If not I will pick it up.

@duglin duglin added this to the 1.0.0 milestone Jul 10, 2017
@nilebox
Copy link
Contributor

nilebox commented Jul 13, 2017

kubernetes/kubernetes#48152 plan to remove in 1.8

So we have ~2-3 months to migrate to CRDs (or drop TPR support completely).
We also should consider what to do for kube 1.6 (as @arschles was working on keeping Service Catalog instructions for 1.6), where CRDs are not available.

@ash2k
Copy link
Contributor

ash2k commented Jul 13, 2017

@mengqiy I think migration to CRDs is blocked by #944 because client is obviously is not available in old client-go.

@MHBauer
Copy link
Contributor

MHBauer commented Jul 13, 2017

It's the dynamic client, we don't require support from client go.

If it's so different, I would think we fork TPR and have support for etcd, tpr, and crd at the same time.

@nilebox
Copy link
Contributor

nilebox commented Jul 13, 2017

@MHBauer I don't see the benefit of continuing the support of TPR once 1.8 is out. It will die very soon anyway, and Service Catalog is not even beta yet, why bother.

And there will still be support for etcd on Kubernetes 1.6, which seems fine to me. Let's just pretend that TPR was never supported and now we present the support of CRD 😉

@pmorie
Copy link
Contributor

pmorie commented Jul 13, 2017 via email

@nilebox
Copy link
Contributor

nilebox commented Jul 13, 2017

I can take this task after #944, and I would prefer using a typed CRD client for this instead of dynamic one.

@MHBauer
Copy link
Contributor

MHBauer commented Jul 13, 2017

I'm fine with that. I wanted to make the argument for backwards compatibility.

@mengqiy
Copy link
Contributor

mengqiy commented Jul 14, 2017

@nilebox Can you list the tasks required for the transition from TPR to CRD.

@nilebox
Copy link
Contributor

nilebox commented Jul 14, 2017

@mengqiy it's probably easier for @arschles to do, as he has added support for TPRs in Service Catalog.

@mengqiy
Copy link
Contributor

mengqiy commented Jul 14, 2017

Yes, the initial support for TPR seems to be in PR #338.

@arschles
Copy link
Contributor Author

arschles commented Jul 20, 2017

Here is some background on why we wanted a TPR storage backend in the first place. We (Deis) had some customers, and anticipated more, that did not want to connect the service-catalog software to the etcd servers they used with the core API server, and we didn't believe it to be acceptable to ask users to install etcd (i.e. the operator) on their cluster just to use service-catalog (we had experience doing this ourselves in the past, we had some problems, and we didn't want to support customers having the same problems).

So, we looked for a different solution with as few setup and maintenance requirements as possible. TPRs were available and had major issues when we started, but we managed to work around almost all of them and release service-catalog that used them successfully. This was worth it because there were no setup or maintenance requirements for TPRs as a datastore.

Now, there are actually a few reasons we need to re-evaluate:

  1. They are being deprecated (what this issue is about)
  2. Setting up RBAC rules to support the TPR backend requires additional work

(1) is, of course, enough to trigger this discussion, but (2) points to a larger problem: MSFT seems to be the only stakeholder in this group that wants a CRD/TPR based implementation. While we don't need to have CRD be a storage backend, I still believe that we should have an alternative to etcd.

I have scheduled us to talk about this in our design meeting on 7/24/2017.

@ash2k
Copy link
Contributor

ash2k commented Jul 20, 2017

@arschles I think we also want CRD-based storage backed. It should be much easier to maintain vs an etcd.

p.s. I understand that CRDs are not meant to be used that way, but it is hopefully acceptable while there is no alternative.

@mengqiy
Copy link
Contributor

mengqiy commented Jul 21, 2017

@arschles @ash2k We (Google) are also interested in a CRD-based storage. If you guys are not working on that, I can pick it up.

@arschles
Copy link
Contributor Author

@mengqiy we are going to talk about this on today's design meeting. I will update here

@arschles
Copy link
Contributor Author

arschles commented Jul 24, 2017

Here is what I proposed in the design meeting:

  • Implement CRD support next to TPRs
  • Document the fact that TPR is perpetually in alpha and won't be supported at all after we rebase on 1.8's API machinery
  • After we rebase on 1.8, we'll tear out the TPR code

@nilebox @ash2k I will meet with you today. @mengqiy please ping me on the slack channel (arschles) so we can talk about this implementation.

@arschles
Copy link
Contributor Author

arschles commented Aug 1, 2017

After talking with @nilebox and @mengqiy about the work involved with migrating in this fashion to a CRD storage backend, we have settled on the following work items:

@MHBauer
Copy link
Contributor

MHBauer commented Jan 10, 2018

With the above work items, do we still need this issue?

@MHBauer
Copy link
Contributor

MHBauer commented Jul 9, 2018

TPR is out, so no transition to do, wholly replaced by #1088, #1087 can be a subtask of #1088

@mszostok
Copy link
Contributor

done by: #2633

@MHBauer
Copy link
Contributor

MHBauer commented May 19, 2020

comment probably better placed on #1088 & #1087

@mszostok
Copy link
Contributor

mszostok commented May 25, 2020

linked with mentioned issues :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants