Coder Social home page Coder Social logo

outspokenmagazine / kubernetes-learning-path Goto Github PK

View Code? Open in Web Editor NEW

This project forked from techiescamp/kubernetes-learning-path

1.0 0.0 0.0 833 KB

A roadmap to learn Kubernetes from scratch (Beginner to Advanced level)

Home Page: https://devopscube.com/learn-kubernetes-complete-roadmap/

kubernetes-learning-path's Introduction

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 Foundation.

Prerequisites

Learn Kubernetes Architecture

The Following image shows the high level kubernetes architecture and how external services connect to the cluster.

kubernetes-architecture

Refer the follwing documents to learn the Kubernetes Architecture.

Learn to Setup Kuberntes Cluster

As DevOps engineers, gaining a thorough understanding of each component and cluster configuration is crucial to work in production environemnts. Though there are various methods for deploying a Kubernetes cluster, it is advisable to learn how to set up multi-node clusters from scratch. This allows you to gain knowledge on concepts such as High Availability, Scaling, and Networking, and simulates a real-world project.

Additionally, mastering the configuration of multi-node clusters can be beneficial for interviews and building confidence in your abilities. The following are recommended ways to establish a Kubernetes cluster.

$1000+ Free Cloud Credits to Launch Clusters

Launching large clusters in the cloud can be costly. So utilize the available cloud credits to practice deploying clusters as if you work on a real project. All cloud platforms offer managed Kubernetes services.

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.

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.

Here is an example of a Pod Object

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

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.

A resource refers to a specific API URL used to access an object. Resources are typically accessed through the Kubernetes API using HTTP verbs such as GET, POST, and DELETE. For instance, the /api/v1/pods resource can be used to retrieve a list of v1 Pod objects. Additionally, an individual v1 Pod object can be obtained from the /api/v1/namespaces//pods/ resource

Learn About Pod & Associated Resources

<--In Progress-->

Learn About Pod Dependent Objects

<--In Progress-->

Deploy End to End Application on Kubernetes

<--In Progress-->

Learn About Securing Kubernetes Cluster

<--In Progress-->

Learn About Kubernetes Operator Pattern

<--In Progress-->

Learn Important Kubernetes Configurations

<--In Progress-->

Learn Kubernetes Best Practices

<--In Progress-->

Learn Kubernetes Logging & Monitoring

<--In Progress-->

Learn Kubernetes Production Best Practices/Learnings

Real-World Kubernetes Case Studies

If you do not have real world Kubernetes experience, it is better to read case studies of other companies using kubernetes.

Learn Kubernetes Templating Tools

Helm and Kustomize are both tools that are used to manage Kubernetes manifests. They are similar in many ways, but have some key differences.

Helm is a package manager for Kubernetes that allows users to easily install, manage, and upgrade applications on a Kubernetes cluster. It uses a concept called "charts" which are pre-configured sets of Kubernetes resources that can be easily deployed, upgraded, and rolled back.

Kustomize, on the other hand, is a tool that allows users to customize and configure existing Kubernetes manifests. It uses a concept called "patches" which can be applied to existing manifests to customize them for different environments and use cases. Unlike Helm, Kustomize does not include built-in support for versioning and rollback, and does not have a concept of "packages" or "repositories".

16.Kubernetes Deployment Tools (GitOps Based)

<--In Progress-->

kubernetes-learning-path's People

Contributors

bibinwilson avatar paramsiddharth avatar scriptcamp avatar techiescamp avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.