Thanks to everyone who attended! For those who missed our session on how to learn cloud native tech here is a summary on todays discussion.
When learning a complex technology like Cloud Native:
- Break it down into parts
- E.g. K8s Pods -> Docker Containers -> Namespace, CGroups
- Once you break it down, learn the core technology on its own (e.g. Linux namespaces)
- Now, take that knowledge and go back up the chain: How does Docker use namespaces? Then how does Kubernetes use it?
Some high-level features, like Kubernetes namespaces, are not the same thing as Linux namespaces, yet there is some conceptual overlap (e.g. isolation). I recommend a similar approach:
- What do Kubernetes namespaces provide and how (e.g. separation of resources at a tenant level)?
- K8s namespaces are implemented via many technologies, including scheduling configured with resource limits.
- How is that enforced? Is it a K8s level only, meaning never passes the api-server, or is it based on feedback from the worker nodes?
For my part, teaching intro and advanced classes, very often it’s the core technologies that are skipped or forgotten, which limits you in optimizing at a higher level.
Don’t just stand on the shoulders of giants, say hello and meet them! If you have a question or are stuck on how to approach learning some technology, please email, happy to help.