KubeCube open source: six features to simplify Kubernetes landing

Source: contribution
2021-08-28 08:35:02

Since the development of container technology, there has been a general consensus on the benefits brought by various industries, such as multi environment delivery consistency, elastic scaling, fault self-healing, etc. The realization of these benefits depends on the Kubernetes platform, the current de facto standard in the field of container choreography. However, the complexity of Kubernetes and the steep learning curve are also indisputable facts, which have a great impact on the implementation and application of container technology.

According to IDC's latest semi annual tracking report on the software definition computing software market, the container software market will still maintain a compound growth rate of more than 40% in the next five years, but the container infrastructure software will only account for 16.2% of the overall software definition computing market in 2020. Containers have been launched in Internet, finance, AI and other fields on a large scale. A large number of leading enterprises have built a new generation of enterprise infrastructure platform based on containers, but the implementation rate of most traditional enterprises, small and medium-sized enterprises is not high.

The reason for this is, to a large extent, due to various problems faced by enterprises in landing container technology, resulting in high landing costs, such as:

  • Kubernetes has a steep learning curve and high configuration complexity: Kubernetes is a powerful container orchestration system, but it is undeniable that it is also a very complex distributed system with a high learning threshold and a long learning curve. Enterprises need to have rich experience to use and maintain Kubernetes clusters well. This requires enterprises to pay a lot of human costs and time costs. For many small and medium-sized enterprises, this cost cannot be underestimated.

  • A single Kubernetes cluster cannot meet the needs of enterprises, and the management efficiency of multiple clusters is low: many of the customers we met found that a single Kubernetes cluster could not meet the needs when the production level containerization was implemented. A typical scenario is that multiple environments such as development, testing, drilling, pre delivery, and production need to be developed. The offline environment needs to be isolated from the online environment, This requires the use of multiple Kubernetes clusters, and the efficiency of independently operating multiple Kubernetes clusters is reflected.

  • The characteristics required for enterprise landing cannot be obtained at a low cost: enterprises choose Kubernetes, and the goal is to use Kubernetes to reduce costs and increase efficiency. Therefore, it is a common scenario for multiple departments or multiple project groups under the same department to share resources. However, different projects need to maintain the necessary isolation, so as to ensure fair distribution and sharing of cluster resources among tenants. In addition, Kubernetes focuses on the single cluster and single tenant container orchestration capability. Although the community has related projects, there is still a high threshold for production level implementation.

  • Monitoring, alarm, log and other observable aspects need to be built: the mainstream monitoring scheme of the community is Prometheus, the alarm is AlertManager, and the log scheme is more, but the configuration is more complex when using, and the maintenance is also more difficult, which improves the requirements for operation and maintenance, research and development, and will inevitably affect the efficiency of business research and development.

  • Localization support: With the changes in the international environment in recent years, we have further realized the importance of autonomy and controllability. More and more domestic processors and operating systems are used in the underlying environment of enterprises. The systems involved in containerization do not all support domestic "cores", which has also become a factor affecting the implementation of containerization.

KubeCube Open Source

In order to help enterprises speed up the implementation process of containerization, Netease Sufan will open source the container platform KubeCube, which has been settled for many years. It hopes to make a contribution to the "new digital infrastructure", and at the same time, it hopes to promote innovation in relevant domestic fields, and create a domestic open, safe, independent and controllable cloud native base. At a critical moment, people will not be "choked".

KubeCube ( https://kubecube.io )It is a lightweight enterprise level container platform, which provides enterprises with kubernetes resource visual management and unified multi cluster multi tenant management functions. It has the ability to simplify application deployment, manage application life cycle, and enrich monitoring and log audit capabilities. Cube means a magic cube, which means that through the combination of capabilities of KubeCube, enterprises can quickly build a powerful and functional cloud native base, and enhance the capabilities of the DevOps team. Now let's look at the six sides of KubeCube, the "Rubik's Cube", to see what capabilities it provides.

  • One click deployment

KubeCube provides multiple deployment methods for user scenarios: All In One deployment for POC environments, and multi node high availability deployment for production environments. Only one command is needed to complete the deployment of Kubernetes+KubeCube. At the same time, it provides out of the box multi cluster management, multi tenant, and observable functions.

At the same time, considering that the enterprise may have some capacity building, such as the log platform, KubeCube can only deploy core services to provide multi cluster and multi tenant capabilities. Observable components can be turned on or off by hot plugging. At the same time, users can connect existing systems through hot plugging configuration, and users can choose flexibly according to actual scenarios.

By providing visual management of Kubernetes resources, the learning curve of users is reduced. In addition to expanding the capabilities of necessary enterprise features such as multi tenancy, others are close to the original, so that the user's learning path is not broken.

  • Unified management of multiple Kubernetes clusters

KubeCube can take over any standard Kubernetes cluster, and provide unified user management and access control based on Kubernetes native RBAC extension for all Kubernetes clusters taken over. To improve the efficiency of users managing multiple Kubernetes clusters, KubeCube provides an online operation and maintenance tool that can quickly manage multiple cluster resources through the unified KubeCube portal: CloudShell can be used online for each cluster kubectl The WebConsole can access the pods in each cluster online.

In addition, consider the network jitter and exceptions between the KubeCube management and control cluster and the business cluster in the hybrid cloud scenario. We provide business cluster autonomy. When the business cluster is disconnected from the KubeCube management and control cluster, the access control of the business cluster can take effect normally and will not be affected.

  • Multi tenant isolation

When we communicate with enterprises, we find that although different enterprises have different scales, the original intention of choosing containerization is to reduce costs and increase efficiency. Many enterprises will choose multiple departments to share Kubernetes clusters or physical resources. While sharing resources, they hope to have sufficient isolation.

Therefore, KubeCube has partially expanded based on HNC, providing a three-layer model of tenants, projects, and spaces to meet the organizational structure levels of enterprises of different sizes, and thus providing resource visibility isolation, quota control, and so on. It enables different departments of the enterprise to reduce costs through sharing, while ensuring necessary isolation and preventing risks brought by malicious operations.

  • Fully compatible with native Kubernetes API

In addition to managing Kubernetes resources through UI, KubeCube also provides OpenAPI and Kubernetes API access (you can use kubectl client-go Direct access to the cluster), all access methods are through unified identity authentication and access control. Through OpenAPI, it is easy to integrate with the existing system of the enterprise. If the enterprise has some capacity building, such as using kubectl O&M scripts can be migrated seamlessly.

  • Out of the box observability

Provide logging, monitoring and alarm functions, improve problem location and operation and maintenance efficiency, visualize configuration, and bid farewell to complex configuration rules.

It provides multi-dimensional basic indicator monitoring, covering multiple dimensions such as clusters, physical nodes, and workloads, and provides common indicators such as CPU, memory, disk, network, and GPU to meet daily operation and maintenance needs and help users quickly find and locate problems.

Based on the self-developed log configuration and distribution service, we can dynamically perceive the changes of Pod, so that log collection does not invade the business, and can reduce resource occupation and cost.

  • ARM and localization support

KubeCube supports AMD and ARM architectures, as well as mainstream domestic processors and operating systems, such as Feiteng processor and Kirin operating system.

Figure 1 Understanding KubeCube

These are the six features of KubeCube. We have more comprehensively summarized the core information of KubeCube in the figure below, which can help you better understand the capabilities and uses of KubeCube.

Write at the end

In the future, we will continue to provide more functions to help enterprises simplify container landing; We also welcome your valuable suggestions.

About the author: Zhu Jianfeng, the head of Netease Dofan Lightboat Container Platform, the core maintainer of KubeCube Community, led the open source work of KubeCube Container Platform, and was responsible for the large-scale landing and productization construction of Netease Dofan Lightboat Container Platform Group. He has six years of experience in research and development and large-scale practice of Kubernetes and container platforms.

Expand to read the full text
Click to join the discussion 🔥 (5) Post and join the discussion 🔥
five comment
twenty Collection
 Back to top
Top