Summary of Kubernetes's application areas

Summary of Kubernetes's application areas

Kubernetes is the leader in the container orchestration war due to its application portability and flexibility in supporting hybrid cloud/multi-cloud deployment. Coupled with the open and scalable concept, the surrounding community is very active. Judging from existing survey results, Kubernetes has become the standard in the container orchestration field. But it is not mature yet, and there is still a lot of room for improvement. Here are some of them:

1. Cluster Federation

Kubernetes is a centralized container management tool. Horizontally speaking, cluster management tools also include distributed and shared types. The difference between representative distributed container management tools such as YARN and Kubernetes is that a host machine of YARN acts as a master to manage containers. The allocation speed is very fast. Kubernetes uses clusters as units, so resource allocation is better. Shared management is used by Borg within Google and is said to be a more advanced distribution method.

Kubernetes is currently the most popular container management tool. Due to bottlenecks in storage and other aspects, when the cluster scale is large, it needs to be split into multiple clusters for separate management. In order to achieve unified management of multiple clusters as if they were one cluster, the industry has come up with the concept of cluster federation. It is to make the underlying multiple clusters work like one cluster externally. This technology is not yet very mature, and there is great potential for development in this area.

2. Scheduler

The scheduler module of Kubernetes is not very well developed, so students who are willing to submit patches to Kubernetes should start with this part. The patches they submit are likely to be adopted and they can become one of the contributors.

In actual use by large companies. Often, reinventing the wheel will rewrite this part.

3.etcd

Kubernetes uses etcd for storage, which directly causes the capacity bottleneck of Kubernetes. So many companies have made optimizations in this regard. Alibaba added a layer of Tair cache on top of etcd. JD replaced etcd with mysql.

4. DNS

Kubernetes' DNS is rarely used by large companies. Because large companies generally have their own service registration and discovery mechanisms and naming conventions.

5. VPA

Kubernetes' pod-level automatic expansion is divided into two levels: horizontal expansion of HPA and vertical expansion of VPA to expand the amount of resources available to the container. It is easy to scale out the HPA capacity horizontally. Just shrink the container and then expand it with a larger configuration. Vertically scaling a VPA is also called in-place upgrading, which is troublesome. Because the k8s container itself is a docker process. VPA is an upgrade that does not require a process restart.

6. Plugins

Kubernetes does not have many core functions. Many functions are provided in the form of plug-ins, and users can implement interfaces to make their own plug-ins.

7. Container Orchestration

After all of the above are mature, Kubernetes still has the biggest problem. It was born to solve the problem of resource utilization. Therefore, it is necessary to further improve resource utilization through algorithms and AI levels. Therefore, learning the Go language and algorithms are essential skills for Kubernetes-related developers.

You may also be interested in:
  • Introduction to cloud native technology kubernetes (K8S)
  • How to deploy a single-node redis database in kubernetes environment
  • Python3 kubernetes api usage examples
  • How to deploy Spring Cloud Data Flow on Kubernetes
  • Detailed tutorial on deploying Springboot or Nginx using Kubernetes
  • Start a local Kubernetes environment using kind and Docker
  • Detailed usage of kubernetes object Volume
  • A graphic tutorial on installing Rancher2 and configuring a kubernetes cluster in CentOS
  • Detailed explanation of the use of cloud native technology kubernetes scheduling unit pod

<<:  Test and solution for MySQL's large memory usage and high CPU usage

>>:  Share 8 MySQL pitfalls that you have to mention

Recommend

How to automatically start RabbitMq software when centos starts

1. Create a new rabbitmq in the /etc/init.d direc...

Play with the connect function with timeout in Linux

In the previous article, we played with timeouts ...

Solution to Docker image downloading too slowly

Docker image download is stuck or too slow I sear...

In-depth understanding of Vue transition and animation

1. When inserting, updating, or removing DOM elem...

Mysql join query syntax and examples

Connection query: It is the result of connecting ...

What we have to say about CSS absolute and relative

Written in the opening: Absolute said: "Rela...

React non-parent-child component parameter passing example code

React is a JAVASCRIPT library for building user i...

Implement a simple search engine based on MySQL

Table of contents Implementing a search engine ba...

Detailed steps to install and uninstall Apache (httpd) service on centos 7

uninstall First, confirm whether it has been inst...

Vue routing lazy loading details

Table of contents 1. What is lazy loading of rout...

Detailed explanation of the loading rules of the require method in node.js

Loading rules of require method Prioritize loadin...

Detailed explanation of three solutions to the website footer sinking effect

Background Many website designs generally consist...

Docker - Summary of 3 ways to modify container mount directories

Method 1: Modify the configuration file (need to ...

Detailed explanation of the TARGET attribute of the HTML hyperlink tag A

The hyperlink <a> tag represents a link poin...