Kubernetes is a wildly successful container orchestrator. Much of this success comes from a strong architectural foundation that allows composition, extensibility, and stability. In this talk, we will examine patterns and design choices made for the Kubernetes API. We will look at how these patterns affect the stability and resiliency of Kubernetes. We will see how patterns apply to specific use cases, like Kubernetes controllers that watch for changes. Finally, we will see how you can apply these patterns and principles to your own APIs and distributed systems.