Upbound CEO Bassam Tabbara joined the founders of the Kubernetes project, Brendan Burns, Joe Beda and Brian Grant to discuss the power of control planes and the Kubernetes Resource Management model, in a keynote panel moderated by Kelsey Hightower during Crossplane Community Day.
Hightower asked Tabbara why Crossplane started with Kubernetes for the control plane, when there are other options that could have been chosen. Tabarra said Kubernetes' popularity and healthy ecosystem of vendors and users was a key motivation.
"It made a ton of sense to actually tap into that rich ecosystem and leverage the familiarity of the API itself," Tabbara said.
Extensibility is a Core Foundation of Kubernetes
A key concept that has helped the extensibility of Kubernetes is that of Custom Resource Definitions, commonly referred to as CRDs that also help to enable the control plane. Brendan Burns explained that the core concept behind CRDs are rooted in his experience as a computer science teacher where he learned that it's critical to make it as easy as possible to enable developers to work with different resources.
While Kubernetes offers users a certain degree of consistency and stability, Brian Grant commented that there are a few areas in Kubernetes where a greater degree of consistency would have been extremely valuable.
"We didn't set out to build a control plane just as a piece of infrastructure, we set out to build a container platform," Grant said. "The control plane was kind of an important design consideration, but it was not a primary focus."
While the control plane wasn't a primary focus for the founding Kubernetes team, Joe Beda wishes that it was.
"I wish we had actually done what Brian (Grant) said we didn't do, which is actually think about the control plane as a separable thing from the get-go," Beda said.
Beda added that theoretically with enough time, energy and elbow grease, it would be possible to take the API controller and create a generic universal control plane.
"I think if we did that in a clean way we'd find that it gets used in much more places than it does right now, because I think a lot of times people think - well I have to run Kubernetes to actually get this control plane," Beda said. "What would it look like to actually have a control plane without having the container management stuff as part of it."
At the end of the panel, Hightower observed that one big takeaway for the Crossplane community is it has the opportunity to help define that control plane first approach, while leveraging the Kubernetes Resource Model, so that people can build new control planes.
The second Crossplane Community Day was held December 15, 2020 and you can watch the complete replay on Youtube, as well as read the full wrap-up report. Ready to dive deeper? Join the Crossplane community on Slack, follow on Twitter or get started on GitHub.