⭐
Hit the Star! If you are planning to use this repo for reference, please hit the star. Thanks!
Kubernetes Learning Roadmap
🚀 CKA, CKAD, CKS, or KCNA exam aspirants can save $60 today using code DCUBEOFFER at https://kube.promo/devops. It is a limited-time offer from Linux Foudation.
1.Prerequisites
- Learn Container concepts & Gets Hands on with Docker Complete Guide
- Understand Distributed system Blog
- Understand Authentication & Authorization Blog
- Learn Basics of Key Value StoreBlog
- Learn the basics of REST APIBlog
- Learn YAMLBlog
- Understand Service Discovery Blog
- Learn Netwoking Basics
- L4 & L7 Layers (OSI Layers)Blog
- SSL/TLSBlog
- Network Proxy BasicsBlog
- DNSBlog
- IPTablesVideo
- Software Defined Networking (SDN)Blog
2.Learn Kubernetes Architecture
The Following image shows the high level kubernetes architecture and how external services connect to the cluster.
Refer the follwing documents to learn the Kubernetes Architecture.
3.Learn to Setup Kuberntes Cluster
There are many ways to set up a Kubernetes cluster. The following are the recommended ones.
- Kubernetes the Hard WayGithub
- Kubeadm Cluster SetupBlog
- Minikube Development Cluster Blog
- Kind Development ClusterOfficial Documentation
- Vagrant Automated ClusterGithub
Also, you can use the free cloud credits and set up managed Kubernetes clusters.
- GKE -Google Cloud $300 free creditsWebsite
- EKS - AWS $300 free POC creditsWebsite
- DO Kubernetes - Digital Ocean – $200 free creditsWebsite
- Linode Kubernetes Engine - Linode Cloud – $100 Free creditsWebsite
4.Understand KubeConfig File
As a DevOps engineer, it is important to become familiar with the Kubeconfig file. It is crucial for tasks such as setting up cluster authentication for CI/CD systems, providing cluster access to developers, and more.
A Kubeconfig file is a YAML file that stores information and credentials for connecting to a Kubernetes cluster. It is used by command-line tools such as kubectl and other client libraries to authenticate with the cluster and interact with its resources.
The Kubeconfig file can be used to store information for multiple clusters and users, allowing users to switch between different clusters and contexts easily. It is an important tool for managing access to and interacting with Kubernetes clusters.
Refer the follwing document to learn about Kubeconfig File in detail.
5.Understand Kubernetes Objects And Resources
In Kubernetes, an object is a persisted entity in the cluster that represents a desired state of the system. It is created and managed by the Kubernetes API server, and is stored in the etcd key-value store. Examples of Kubernetes objects include pods, services, and deployments.
A resource is a representation of a Kubernetes object that is exposed by the Kubernetes API. It is a way for clients to interact with and manipulate objects in the cluster. Resources are typically accessed through the Kubernetes API using HTTP verbs such as GET, POST, and DELETE.
6.Learn About Pod & Associated Resources
<--In Progress-->
7.Learn About Pod Dependent Objects
<--In Progress-->
8.Deploy End to End Application on Kubernetes
<--In Progress-->
9.Learn About Securing Kubernetes Cluster
<--In Progress-->
10.Learn About Kubernetes Operator Pattern
<--In Progress-->
11.Learn Important Kubernetes Configurations
<--In Progress-->
12.Learn Kubernetes Best Practices
<--In Progress-->
13.Learn Kubernetes Logging & Monitoring
<--In Progress-->
14.Learn Kubernetes Production Best Practices
- Production Readiness Checklist
- Learn About 12 Factor Apps Official Guide
- Learn From Kubernetes Failure Stories List of Blogs
- Scheduling 300,000 Kubernetes Pods in Production Daily Video
15.Real-World Kubernetes Use Cases
If you do not have real world Kubernetes experience, it is better to read case studies of other companies using kubernetes.
16.Learn Kubernetes Templating Tools
<--In Progress-->
16.Kubernetes Deployment Tools (GitOps Based)
<--In Progress-->