We have always focused on learning paths that can help you in longer and more in-depth knowledge. In this article, we are going to talk about what you can learn from Kubernetes from long-term perspective.
When we talk about Kubernetes there are multiple components to it and basic deployment ways also have a lot of components. There is the operations part and then there is the management or debugging part. Both are very important but can be useful for two different segments of people. Deployment on Kubernetes can be part for application developers where they can utilize Kubernetes capabilities to run their applications.
The other user’s section has to manage these Kubernetes clusters or debug the issues if there are any.
Let’s look at the topics that you must learn to understand Kubernetes in depth.
Understand basic Kubernetes concepts
You must be able to understand the basic objects that Kubernetes works on like Pods, Deployments, Services, Statefulsets, PDB, etc. Having knowledge of this will help you in running your applications on Kubernetes.
Networking is very important whether it is Linux or networking. You should be able to define how packet flows in the Kubernetes system in data. How does DNS resolution happen and how do ingress and egress work? What is the exact task of the Kube-proxy? What are the tasks of CNI and CNI plugins? What is a service mesh and how it works?
It’s important to understand how storage works. What are PVCs and how the disk is mounted on the machines? All this especially in the context of the cloud. Read about CSI and how they help in the implementation of storage management.
Components and what are their exact tasks
You must be able to define after working in some time that what exactly happens in what step. For example, What steps exactly happen when you create a deployment.
Role back access control and Permissions are an important part of kubernetes. you must be able to understand the concepts of roles, role binding, service accounts, certificates, etc.
Understanding how annotations, labels, and selectors work.
The actual mapping of objects like which all pods will be behind a service is accomplished with help of selectors. Similarly, annotations can be used to add extra functionality to configs like for internal lb you can add an annotation. So it’s important to understand how these works.
CRDS, APIs, GVK and GVR
You can read about how CRD can be created and used. CRDs are a very important concept that helps you extend the Kubernetes capabilities. GVK is Group version kind and GVR is group version resources. Understanding this will help you in understanding the basic concepts and ideologies on which Kubernetes APIs are written.
Kubernetes Operator and how to write one.
You can start with Helm. Kubernetes Operators are the way to extend Kubernetes functionalities through means of CRDS and APIs. If you are using Kubernetes, you must be running some operators.
Helm and packaging
You can read about Helm which is the widely used method of deployment in Kubernetes. You can also read about Kustomize.
We have talked about topics that you can read which will help you in understanding the Kubernetes from a long-term perspective. Below are a few books which are really helpful in learning these concepts.
For understanding basic structs of Kubernetes. Kubernetes Up and Running is a great book.
If you looking to understand the APIs, objects, and how code and operators work you can read Programming Kubernetes. This is one of the best books available as per me to understand the basics.
You can also look into this post to see the best books for you if you are searching for books for Kubernetes.
So this is all for what you can learn in Kubernetes for the long term. In the end, I want to focus on one very important thing is hands-on knowledge. Even if you read all the topics but didn’t do hands-on it will not be effective. Try to test all the concepts you learn on minikube or kind clusters.
If you like the article please share and subsribe.