Summary
In this chapter, we learned about extending Kubernetes. First, we talked about CRDs – what they are, some relevant use cases, and how to implement them in your cluster. Next, we reviewed the concept of an operator in Kubernetes and discussed how to use an operator, or custom controller, to give life to your CRD.
Then, we discussed cloud-provider-specific extensions to Kubernetes including cloud-controller-manager
, external-dns
, and cluster-autoscaler
. Finally, we wrapped up with an introduction to the cloud-native open source ecosystem at large and some great ways to discover projects for your use case.
The skills you used in this chapter will help you extend your Kubernetes cluster to interface with your cloud provider as well as your own custom functionality.
In the next chapter, we'll talk about two nascent architectural patterns as applied to Kubernetes – serverless and service meshes.