Advanced Interactions with Kubernetes (As Taught by Helm)
2019-11-16, 09:45–10:15, The Gallery

Come learn about some of the gotchas and deep internals you'll have to deal with when extending or building on top of Kubernetes. Using some of the Helm code as a backdrop, this talk will dive into the nitty gritty details of checking the status of various workload API objects, complex patching needs, validation, and more!

Helm is well-known as the package manager for Kubernetes. However, it is less well-known as a showcase for advanced interactions with the Kubernetes libraries and APIs. If you are interested in extending or building on top of Kubernetes, this talk will help you get you acquainted with various Kubernetes libraries and show concrete examples of complex interactions with those libraries.

This talk will be highly technical and focused on how to perform various work in Kubernetes with examples from Helm (though no prior experience with Helm is required). These examples will at least include the following, if not more:
- How to handle multiple API versions (such as all of the Deployment object apis and versions)
- Properly using and retrieving the correct statuses of objects (basically how the wait functionality works)
- 3 way patching
- Object building (including unstructured types and how to convert them)
- Validation
- Discovery client and cache invalidation
- How to use some of the more obtuse/little-known k8s packages