In this episode, we will explore Kubernetes, a container orchestration technology. However, before diving in, what skills do you need to master before learning Kubernetes?

Before diving into the world of Kubernetes, there are several foundational skills you need to master to avoid confusion along the way. Why do we need to learn the basics first? The reason is that Kubernetes is not easy to understand if you're not already familiar with fundamental concepts like Docker, Linux, or Networking. By equipping yourself with these foundational skills, you'll be able to understand how Kubernetes works more quickly and comprehensively.
Learning Kubernetes is not just for DevOps professionals. Backend developers nowadays also need to understand container and orchestration concepts. However, make sure you're already familiar with application deployment, cloud basics, and containers.
There are several skills that are essential for anyone who wants to learn Kubernetes technology and tools. Here's a list of these skills:
You must be able to operate basic Linux commands in a CLI (Command Line Interface) environment. These basic Linux commands will be extremely helpful when installing, configuring, and operating Kubernetes. Some examples of basic commands include:
cd, ls, pwdchmod, chownbash, shcurl, grep, awkIn addition to basic Linux commands and CLI environments, you also need to understand how computer networking works. This skill will be very helpful when configuring subnetting, firewalls, proxies, forwarding, load balancing, and so on. Some examples of computer networking concepts you should understand include:
Class, SubnettingWell-Known Port, Registered Port, Dynamic / Ephemeral PortRecord, ZoneUpstream, Roundrobin, Least ConnectionReverse ProxySSH, HTTP/s, TCP, UDPStatic, DynamicNATAfter acquiring basic Linux and computer networking skills, you also need to be able to operate applications running in a container environment. One popular option is Docker, although there are many alternatives like Podman. However, the concepts are quite similar. Containerization operation skills will be a fundamental skill that will be extremely helpful when entering the world of orchestration like Kubernetes, since Kubernetes itself is a tool that abstracts the complexity of handling many containers. Some examples of containerization operation skills you should have include:
Build, Dockerfile, Pull, Push, Registry, RunTemporary, PersistentCIDR, Port Mapping, BindingMulti ContainerYAML syntax is closely related to Docker Compose, and Kubernetes itself also uses YAML file format for its operations. Therefore, you need to be familiar with YAML writing format, such as Tab Indentation, Key and Value Structure.
This skill can be considered optional and will be an added value if you have experience or are comfortable operating in a Cloud or Virtualization environment. Since most of the foundational skills mentioned above and Kubernetes itself can be learned without Cloud or Virtualization. Some examples of cloud or virtualization skills that will be very helpful or add value include:
AWS, GCP, AzureIaaS, PaaS/FaaS, SaaS, IAM, Network / VPC, Firewall, Instance GroupVMware, Proxmox, VirtualBoxAfter understanding the foundational skills required before learning Kubernetes, the next step is to discuss the Software and Hardware tools you need to prepare. Here's a list of these tools:
| No | Tool | Type | Level | Description |
|---|---|---|---|---|
| 1. | Laptop / Mini PC / PC | Hardware | Required | To run a Kubernetes Cluster, you can also use a VM on a Cloud Platform |
| 2. | Hypervisor / Virtualization | Software | Optional | For those who want to run a Kubernetes Cluster in isolation or separately from your main OS environment, you can use VMware, Proxmox, VirtualBox, etc. |
| 3. | Container Runtime | Software | Required | To run Kubernetes Containers, you can use Docker or Containerd, CRI-O, etc. |
| 4. | Text Editor | Software | Required | To create and edit Kubernetes Cluster configurations through YAML files |
| 5. | kubectl | Software | Required | To interact with a Kubernetes Cluster through the API Server |
| 6. | Kubernetes Cluster | Software | Required | To run a Kubernetes Cluster, you can use Kubernetes, minikube, k3s, etc. |
For episode 0 of this Kubernetes learning series, I think that covers the main topics. In the next episode, we'll discuss an equally interesting topic: understanding the history of application deployment and the history of Kubernetes and why it was created. So make sure you stay motivated to learn Kubernetes in this series because the journey is still long 😁. Make sure you have all the skills and tools mentioned above prepared. If you haven't yet, you can prepare them gradually.