Before jumping into learning Kubernetes, you need to have a fair amount of knowledge of some of the underlying technologies and concepts.
- Distributed system: Learn about distributed system basics & their use cases in modern IT infrastructure. CAP theorem is good to have knowledge.
- Authentication & Authorization: A very basic concept in IT. However, engineers starting their careers tend to get confused. So please get a good understanding of learning from analogies. You will quite often see these terms in Kubernetes.
- Key Value Store: It is a type of NoSQL Database. Understand just enough basics and their use cases.
- API: Kubernetes is an API-driven system. So you need to have an understanding of RESTFUL APIs. Also, try to understand gRPC API. It’s good to have knowledge.
- YAML: YAML stands for YAML Ain’t Markup Language. It is a data serialization language that can be used for data storage and configuration files. It’s very easy to learn and from a Kubernetes standpoint, we will use it for configuration files. So understanding YAML syntax is very important.
- Container: Container is the basic building block of Kubernetes. The primary work of Kubernetes is to orchestrate containers. You need to learn all the container basics and have hands-on experience working on container tools like Docker or Podman. I would also suggest reading about Open container initiative and Container Runtime Interface (CRI)
- Service Discovery: It is one of the key areas of Kubernetes. You need to have basic knowledge of client-side and server-side service discovery. To put it simply, in client-side service discovery, the request goes to a service registry to get the endpoints available for backend services. In server-side service discovery, the request goes to a load balancer and the load balancer uses the service registry to get the ending of backend services.
- Networking Basis: Networking is a key part of Kubernetes. To understand Kubernetes networking, you need to have a fair knowledge of the following topics.
- CIDR Notation & Type of IP Addresses
- L2, L3, L4 & L7 Layers (OSI Layers)
- SSL/TLS: One way & Mutual TLS
- Proxy
- DNS
- IPVS/IPTables/NFtables