In this blog, I have covered a list of kubernetes tutorials that can help beginners to learn Kubernetes with practical guides. This Kubernetes tutorial for beginner series is focused on kubernetes objects and the associated tooling around them.
You will learn the following from these tutorials
- Kubernetes Architecture & Setup
- Native Kubernetes objects (Pods, Deployments, Statefulsets, Jobs, etc)
- Kubernetes monitoring & logging
- Kubernetes troubleshooting
- Kubernetes config and secret management
- Kubernetes productivity tools.
- Kubernetes certification guides
Prerequisites to Learn Kubernetes
Before you get started with Kubernetes, it is essential to understand the following concepts
- API: All kubernetes components talk to each other via APIs. It’s essential to know what is an API before getting started with Kubernetes.
- YAML: You need to know the basics of YAML and how to edit YAML files. Every kubernetes resource is deployed using YAML files.
- Networking: If you want to understand Kubernetes networking the right way, you should have knowledge of computing networking concepts like OSI Layer, CIDR, overlay networking, IPtables, DNS, etc.
- Containers: If don’t have a basic understanding of containers, I would suggest learning containers basics and then starting with Kubernetes. You can check out my article on “what is docker” to understand the whole concept of containers.
Kubernetes Tutorials For Beginners
I have categorized a list of kubernetes beginner’s tutorials as a roadmap that you can use to get started with kubernetes. This is a growing list of practical kubernetes guides.
Note: Kubernetes is an open source tool with constant updates to features. There is change where a guide might have a older version of APIs or workflows used. I try to keep all the guides updated. If at all, if you face any issue, please drop a comment so that I can be aware of the update and make the changes accordingly.
I have categorized the Kubernetes tutorials into multiple segments. So let’s take a look.
👉 Kubernetes Architecture & Setup Guides
This section provides a beginner tutorial on Kubernetes architecture, design, cluster setup guides for development, cluster setup guides on cloud platforms, and Kubernetes cluster automation.
- Kubernetes Architecture Explained
- Kubernetes Minikube Tutorial
- Setup Kubernetes Cluster Using Kubeadm
- Upgrade Kubeadm cluster
- Kubeconfig file explained
- Setup Automated Kubeadm cluster on Vagrant
- GKE Cluster setup on Google Cloud – Detailed Guide
- Kubernetes design considerations
👉 Kubernetes Backup & Restore Tutorials
In this section, we will learn about Kubernetes backup and restore using kubernetes native tooling and other open-source and cncf-related tools.
👉 Kubernetes Native Resource Tutorials
This section covers tutorials on kubernetes native resources like deployments, pods, Statefulset, RBAC, jobs, ingress, and much more.
- Kubernetes Deployment Tutorial For Beginners
- How to create Kubernetes Role for Service account
- How To Create Kubernetes Service Account for API access
- Kubernetes Ingress Tutorial For Beginners
- How To Set Up Ingress On Kubernetes Using Nginx Controller
- How to configure SSL/TLS for Kubernetes Ingress
- How To Create Kubernetes Jobs/Cron Jobs
- Kubernetes Pod PriorityClass & Preemption Explained
👉 Kubernetes Productivity Guides
- Easy Ways to Create Kubernetes YAML’s
- Best Kubernetes Dashboard App – Kubernetes Lens [Video Tutorial]
👉 Kubernetes Monitoring Tutorials
This section focuses on Kubernetes monitoring and logging using tools like Prometheus, Grafana, alert manager, etc. We will also cover guides on logging and monitoring related to specific cloud providers.
- How To Setup Prometheus Monitoring On Kubernetes Cluster
- Setup Prometheus Node Exporter on Kubernetes
- Setup Kube State Metrics on Kubernetes
- Setting Up Alert Manager On Kubernetes
- Setting up grafana on Kubernetes
👉 Kubernetes Logging Guides
This section covers the list of end-to-end beginner tutorials on Kubernetes logging.
- Kubernetes Logging Explained for beginners: This tutorial explains the underlying Kubernetes logging concepts and patterns in detail.
- EFK setup on Kubernetes: A step-by-step guide explaining the EFK logging stack on Kubernetes.
👉 Kubernetes Troubleshooting Tutorials
In this section, we will learn to troubleshoot kubernetes objects (Pods, Deployments, Statefulset, cluster components, etc).
👉 Kubernetes Database Tutorials
This section aims to cover tutorials on setting Statefulsets for databases like PostgreSQL, MongoDB, etc. We will also cover kubernetes database operators which provide extra functionalities to manage databases on Kubernetes.
👉 Kubernetes Package Management Tutorials
Under Kubernetes package management, you will learn about tools like helm and Kustomize.
👉 Kubernetes CI/CD Tutorials
Under Kubernetes CI/CD, you will learn to use commonly used CI/CD tools like Jenkins and advanced GitOps Operators like ArgoCD, FluxCD, etc.
- Setup Jenkins On Kubernetes Cluster
- Setup Jenkins Build Agents on Kubernetes Pods
- Building Docker Images In Kubernetes Pod using Kaniko
- Setup Latest Nexus OSS On Kubernetes
👉 Kubernetes Secret Management Tutorials
In this section, you will learn to manage secrets in Kubernetes using recommended open-source secrets management tools. Also, we will look at the cloud-specific secret management solutions that can be integrated with Kubernetes.
👉 Kubernetes Certification Guides (CKA/CKAD/CKS)
If you are looking to get certified in Kubernetes, the following certification guides will help.
Also, check out the kubernetes certification coupons page to get the latest exam voucher codes to save money on Exam registration.
What is Kubernetes?
As the definition says, Kubernetes or k8s is an open-source orchestration and cluster management for container-based applications maintained by the Cloud Native Computing Foundation.
The official kubernetes (k8s) website says,
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.kubernetes.io
In simple words, kubernetes make it easy to manage containers on multiple hosts. Also, it makes the container deployment so easy using a declarative YAML file. You specify how you want the container to be deployed, and Kubernetes takes care of it by reading the information provided in the YAML.
Why do we need Kubernetes?
Before we get into a detailed list of beginner tutorials, I would like to give you two examples of why we need Kubernetes.
The first question when it comes to Kubernetes or a container orchestrator is why we need it. Let’s understand it from two examples.
Let’s say you have a couple of java applications. You can package it into a container and run it on a server containing docker. For this scenario, there is no complexity.
You package your application into a Docker image using Dockerfile and expose a port on a host for the external world to access it.
The only downside is that it is a single point of failure as it is a single server. So you need an efficient mechanism to handle a single point of failure.
This is why you need a container clustering & orchestration tool like Kubernetes to scale applications on-demand and withstand single-node failures.
Now, let’s say, you have a big application that is composed of microservices (APIs, UI, user management, credit card transaction system, etc). All these microservice components have to talk to each other using REST or other protocols.
As the application has many components or microservices, we cannot pack all the services into one server or a container. The application has to be decoupled and each microservice should be deployed and scaled on its own. This makes application development and deployment easier and faster.
The complexity lies in networking, shared file systems, load balancing, and service discovery in this scenario. Here is where kubernetes comes in to picture. It helps in orchestrating complex processes in a manageable way.
Using kubernetes, you just have to worry about your application development and deployments. All heavy lifting like networking, service-to-service communication across nodes, load balancing, resource scheduling, scalability, and high availability are taken care of by Kubernetes.
Overall Kubernetes helps you achieve the following.
- Self Healing
- Automatic Container Scheduling
- Horizontal and Vertical Scaling
- Rolling application upgrades & Dowbgrades with zero downtime
Kubernetes Latest Updates
Following are some of the latest updates from Kubernetes.
- Kubernetes v1.25: Combiner has been released. It has 40 enhancements.
- Kubernetes 1.24: Stargazer has been released. This release has 46 enhancements. Out of which, 13 are graduating to Stable, 14 existing features got improvements, 13 new features added, and six are deprecated.
- Dockershim deprecated with the release of Kubernetes 1.24
- Kubernetes Volume Expansion Now A Stable Feature
Is Kubernetes easy to learn?
Kubernetes is a complex distributed system and a DevOps tool that is driven by APIs. If you know the basics of APIs, YAML, and Networking, you can learn Kubernetes easily.
How do I start studying for Kubernetes?
To start studying for Kubernetes, you need to first learn more about the platform itself. There are many online platforms that can help you get started with your studies. Some of them include the following:
1. Start With a Roadmap: First, have a detailed roadmap with a list of concepts to learn in Kubernetes. You can refer to the learning kubernetes roadmap for a structured list of Kubernetes topics from beginner to advanced.
2. The official Kubernetes Documentation & Tasks – This is the best source for learning about all of the different components and features that make up Kubernetes. You can check out this website to see what each component does and how you can use it.
3.. Online Kubernetes forums – There are many online forums where people discuss Kubernetes. For Example, LinkedIn Groups, Stackoverflow, and Reddit. This is a great place to ask questions and get help from other users. You can also find many useful tips and tricks here.
4. YouTube Kubecon Videos – Many excellent Kubecon videos can help you learn about Kubernetes in depth. You can learn about the different features of Kubernetes and how to use them.
5. Books – There are many good books that can help you learn about Kubernetes. Some of these books include “Kubernetes: Up and Running” and “Kubernetes Cookbook”.
6. Katacoda Scenarios: Use Katacoda free tutorials to learn real-time kubernetes scenarios with browser-based terminals.
Is Kubernetes going away from Docker?
Yes. With the release of Kubernetes 1.24, Dockershim is no longer supported by Kubernetes. You can migrate or use cri-o or containerd runtimes.
I will keep adding all the Kubernetes beginners tutorials to this list.
I aim to complete all Kubernetes concepts with real-world examples and project guides.
Also, these tutorials will help you if you are preparing for Kubernetes certifications.
Subscribe to our mailing list to keep updated on our latest Kubernetes tutorials.