Kubernetes provides two ways of extending its API: Custom Resource Definitions (CRDs) and API aggregation. This talk looks at our journey developing the Compose for Kubernetes extension from its initial implementation as a CRD to an API server. We will look at the reasons for our move to API aggregation, the technical implications of the two approaches, and how to do a migration from a CRD to an API server. Kubernetes is evolving quickly so we’ll also take a look at how newer versions have solved some of the issues we had with CRDs, and what’s to come in the future of CRDs.
Christopher Crone – Engineering Manager, Docker