Kubernetes basics – K8s (Part 1)

Tram Ho

Preface

  • VILenin once said ” LEARN, LEARN MORE, LEARN MORE “, and that statement still proves its correctness to this day, and especially in today’s 4.0 technology society. New technologies appear and update continuously like a wind (for example Laravel 8.x was born only 6 months after Laravel 7. ???? ) requires each programmer to self-explore and learn new technologies to avoid being obsolete and rejected.
  • And this time, I’m learning about Kubernetes . As for the reason why I chose Kubernetes , please wait down below to understand what Kubernetes can do.
  • Let’s get started!

content

  • When learning about a new technology, what you are most interested in is:
    • What is it?
    • What is it used for?
    • Who developed it
    • How to use it?
  • And this series of articles will also follow such a layout to help you grasp information quickly: ” DO I NEED TO LEARN THIS?

What is Kubernetes

Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.

  • According to the self-introduction homepage , Kubernetes is an open source system for the purpose of automating deployment , scaling and managing containers.
  • And its father is the big Google , this is also a huge plus point about the reputation of this tool, isn’t it. Before that, Google used an internal tool called Borg to operate and manage its services. And with over 15 years of experience in operating its products, Google launched Kubernetes on June 7, 2014.And if you are interested in being able to read the history of development here , there are quite a few interesting things and this and that.
  • I am not sure how to call the name, you can choose one of the following ways:
    • Ciu-butter-ne-ti-touch : this is the transliteration of google translation
    • Ciu-butter-stroke : this is my transcription, leaving the wind sound more concise that listeners can still understand.
    • K8s : This is not afraid of mispronouncing, the whole world can understand correctly. As for why is that so simply it is K-8-letter-in-between-s so it is called K8s (according to this naming method, I will be T2I )

The basic concepts

  • Cluster : A Kubernetes cluster is a set of physical / virtual machines installed by Kubernetes to run applications. These virtual machines / physical machines are called nodes, which are divided into node master and nodes workers. As shown below is a description of a system consisting of Kubernetes Master Node and Worker Nodes (and as you can see in the image there might be tens, even thousands of worker nodes).

  • Nodes ( https://kubernetes.io/docs/concepts/architecture/nodes/ ): Kubernetes nodes are virtual machines or physical machines running kubernetes. These nodes need to run Kubernetes and docker, and each of these machines is a docker host.Node is the smallest unit of computer hardware in Kubernetes. It is representative of a single machine in the Kubernetes cluster. In most Kubernetes systems, a node can be an actual physical machine or the virtual machine of a cloud platform like the Google Cloud Platform or AWS, or simply a virtual machine created by VirtualBox on a single machine.

    We can simply treat each node as a collection of CPU and RAM resources that can be used. In this way, any machine can replace any other machine in the Kubernetes cluster.

  • Pods ( https://kubernetes.io/docs/concepts/workloads/pods/ ): When an application is packaged, that application will be able to run on a standalone container, Kubernetes uses the pod concept to group containers together. A pod is a group of containers that share resources and the network, and containers within a pod can maintain communication with each other as if on a server but retain the necessary independence.With Kubernetes, pods are usually groups of containers that have the same purpose, for example a pod set of 4 containers running nginx + backend, and a pod set of 2 containers running frontend + nginx. Etc, so the scale problem The application becomes very simple by simply scaling pods.

Some basic modules of Kubernetes

  • And as the home page lists some basic modules of Kubernetes as shown below:
    • Create Kubernetes cluster
    • Deploy an app
    • Explore app
    • Expose app publicity
    • Scale up app
    • Update app

    And the next articles in this series will learn step by step like that.

Conclude

  • In the scope of an opening article, I can only introduce to you some basic concepts about K8s, in the next articles of this series I will gradually provide you with more knowledge. About the K8s setup and application, please look forward to the next articles in my series!

References

Share the news now

Source : Viblo