Road map to Learn k8s

Road map to Learn k8s

I have started Learn Kubernetes with documentation , I will follow Nana Janashia Provided Guidelines to Reach My Desire Goal,

This Guidelines divide into Two Parts

  1. k8s Administrator/operations engineer
  2. The Platform User/application developer

But some basic Fundamental Concepts we will learn first.

First, we need to learn fundamental concepts. These are the building blocks of Kubernetes knowledge, laying a solid foundation for our Kubernetes journey!



1)Learning the "Why"

Most important entry point to learning any new technology is, learn the WHY behind the technology first.

  • What problem does it solve, that made K8s so popular and widely used?
  • The whys of how K8s helps solve issues of operating large containerized apps

2) Architecture

As part of K8s architecture, we need to learn about the control plane and worker nodes.

  • What is the role of each?
  • How are they connected?
  • What processes are running on them?
  • Etc

3)Core K8s Objects

  • Pods
  • Services
  • ConfigMaps
  • Secrets
  • Ingress
  • Deployment
  • StatefulSet
  • Namespaces
  • Volumes

4)K8s Components - How K8s works behind the scenes

But there are components of K8s, that work behind the scenes and doing its magic in the cluster:

Understanding what each component does, will help us understand the mechanisms behind the cluster, the self-healing functionality, the way K8s manages desired vs actual state etc.

Control Plane:

  • scheduler
  • controller-manager
  • etcd
  • api-server

Node:

  • kubelet
  • kube-proxy
  • Container-Runtime


5) Access and Interacting With K8s

6)K8s Manifest Files:

These are K8s YAML configuration files, which describe the desired state of our applications within the cluster. These are used to define what K8s components, like deployments, services etc, we want to create in the cluster.

Learn syntax and understand how to create and manage these manifest files, which will be crucial for successful Kubernetes deployments.

7)Troubleshooting:

As we progress in our K8s journey and start deploying applications inside and creating various K8s resources, we will encounter challenges and issues that require troubleshooting skills.

So we also need to learn kubectl commands for troubleshooting as well as other ways of getting insights into the cluster networking, components, applications etc:

  • Check container logs
  • Check cluster status
  • Check Node and Pod Status
  • Verify Networking

8)Common K8s misconfigurations & Bad Practices (advanced):

K8s is not opinionated and we can do a lot in the cluster, but this also means we can do a lot wrong, like configuring things with bad practices and misconfiguring things. That’s where details of common misconfigurations will help a lot, knowing from the start what are some things that people without experience in K8s may misconfigure.

I find it easier to start with bad practices and what not to do, before learning about best practices. Because we learn exactly what to avoid and importantly why. This will also teach us more about how K8s works and why are things a certain way.

9)Helm Charts (advanced)

Another advanced topic you can learn at this point is Helm charts, especially as you start deploying third-party services in your cluster next to your own apps. Learn:

  • What is Helm
  • What are Helm charts
  • What are they used for etc.

Again first why we need them and then how to use them. This will further enhance your deployment capabilities.



要查看或添加评论,请登录

社区洞察

其他会员也浏览了