Hello everyone, technology is evolving every day that we have to run to catch up (when we can’t afford to create something new) and we are no exception. Containerize applications, auto deploy , zerodowntime service , scalable application … those we aim to and a tool to support us in this are Kubernetes (this section I hacked myself, wrong anhem, please comment) . This is something I cherished studying during my time and now I have the time and opportunity to approach. So this article was created to introduce the first things I read about this tool.
And of course learning through books, there must be something for us to read, I would like to recommend the book that I highly recommend to seniors , Kubernetes in Action . I translated the introduction of Kubernetes of this book (I skip the introduction of Docker with some system concepts and the default is that everyone understands, I also have the series about Docker so I can completely refer to it first).
We all know that the number of deployable application components is increasing in your application, and it becomes difficult to manage them. Google is perhaps the first company to realize that we need one better way to deploy and manage the components of software (software components) and architectural infrastructure (infrastructure) in order to expand the entire application use (scale globally). This is just one of the companies in the world that runs hundreds of thousands of servers and faces heavy management of deploying processes. This motivates them to create a method to make developing and deploying thousands of software components manageable and cost-effective.
1. Understand the original idea
Over the course of a year, Google developed an internal system called Borg (and later called Omega), which helps both developers and system administrators manage thousands of applications and services. By simplifying the development and management process, it also makes it easier for them to use their infrastructure, which can be said to be most important for large machines. When running hundreds of thousands of machines, even a slight improvement (in the slightest) in usage can save millions of trump, so developing such a system is really necessary.
After keeping both Borg and Omega secret for a long time, Google introduced Kubernetes in 2014, an open-source system based on experience gained from Borg and Omega, and other publishing systems. by Google.
2. Look at Kubernetes from the top
Kubernetes is a software system that allows you to easily deploy and manage container applications . It is based on the characteristics of the Linux container to launch heterogeneous applications without knowing any details within it, and there is no need to manually deploy applications on each host. Because your application is run in a container, it does not affect the other applications running on the same server, which is very important while running the application for different structures completely on the same hardware.
Kubernetes is open for you to run software on thousands of nodes on one computer as if they were running separately on each computer. It encapsulates the underlying infrastructure and thereby simplifies development, deployment and management for both the development and administration teams.
Deploying many applications through Kubernetes is always the same, even if you have several or thousands of nodes . The size of each cluster makes it no different. Every time a cluster node is added, it simply adds a supply of available hardware to deploy the application.
It pee 1: You are very confused as to what nodes or clusters are right: v Me too, roughly, I also quoted sources for reference. According to my simple understanding, the cluster is like a package that puts all your services inside, and the node, each will correspond to 1 service you want to install. Details for you curious from this paragraph:
2.1 Understand the core that Kubernetes implements
The following figure shows the simplest of a Kubernetes system. The system is an integration of one master node and many worker nodes (child nodes). When the developer pushes (submits) a list of applications to the master, Kubernetes deploys them to a cluster of multiple worker nodes. Which node the software components are placed into (should not) depends on the developer or the system administrator. The developer can determine the number of applications that must run together and Kubernetes will deploy them on the same worker node. The others will be split around the cluster, but they can still talk to each other the same way based on where they were deployed.
2.2 Help programmers focus on the features of the application
Kubernetes can be considered as a system for clusters. It frees the developer of deploying infrastructure related services in the application, instead they use Kubernetes to provide these services. It includes things like detecting services, scaling, loading-balance (loading balancing), self-healing (auto-healing), etc.Developers can safely focus on building features. Power for apps without wasting time figuring out how to link them to the underlying infrastructure.
2.3 Help infra team optimize its use of resources
Kubernetes will run the application somewhere on the cluster, providing information to each component and how they can search for each other and keep all running. Because the application doesn’t care which node it is running, Kubernetes can move the application at any time and by wrapping and matching the application, optimizing resources rather than having to do them manually.
- Easy to deploy applications.
- Optimized hardware resources.
- There is a health-checking and self-healing mode, which is a mode of self-checking status and self-healing if a node dies …
- Automatic scaling (automatic scaling)
- Simplify development work.
In this section we have seen a picture of Kubernetes and why it is becoming trends in application building today. In the next section we will go over some of the basic concepts of Kubernetes.
Thank you for reading the article, if you have any questions or find incorrect, please comment below so we can discuss together. See you in the following article, I will try to write more evenly.