Cloud native multi-cloud multi-cluster Karmada|8 topics in the 2024 Open Source Summer invite you to co-create

This article is shared from the Huawei Cloud Community "Cloud Native Multi-Cloud Cluster Karmada | 8 Topics for 2024 Open Source Summer Invite You to Co-Create" , author: Cloud Containers Great Future.

Introduction to Open Source Summer

Student registration for Open Source Summer 2024 opens on April 30. Open Source Summer is a summer open source activity initiated and long-term supported by the "Open Source Software Supply Chain Lighting Plan" of the Institute of Software, Chinese Academy of Sciences. It aims to encourage school students to actively participate in the development and maintenance of open source software, and to cultivate and discover more outstanding talents. developers, promote the vigorous development of excellent open source software communities, and help build open source software supply chains. Karmada cloud-native multi-cloud container engine brings 8 topics in the field of multi-cloud and multi-cluster this year . College students are welcome to apply.

Introduction to Karmada Community

Karmada ( https://github.com/karmada-io ) is the industry's first multi-cloud, multi-cluster container orchestration project, and it is also a Cloud Native Computing Foundation (CNCF) incubation-level project . The Karmada community was jointly initiated by eight companies including Huawei Cloud, Industrial and Commercial Bank of China, Xiaohongshu, and China FAW, and was officially open sourced in April 2021. Karmada's contributors come from all over the world, covering more than 60 organizations in 22 countries and regions around the world, including Huawei, DaoCloud, Zhejiang University, Didi, Tencent, Xiaohongshu, Sina, Intel, IBM, Red Hat, Comcast and other companies . So far, the project has received more than 4.1k stars on GitHub, an open source software project hosting platform.

Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run cloud-native applications in multiple Kubernetes clusters and cloud platforms without requiring application changes. Karmada enables truly open, multi-cloud Kubernetes by using Kubernetes native APIs and providing advanced scheduling capabilities.

1.png

The Karmada community will hold a regular community meeting at 14:30 pm on May 7th (Tuesday) to promote the Summer of Open Source topics. Students are welcome to pay attention and participate! Student participation link: https://zoom.com/my/karmada

Karmada Community Open Source Summer 2024 Project

Topic 1: Karmada supports smooth rollback of single cluster capabilities

Project Difficulty : Basic

Project community mentor : Pan Chaosi (Super pan)

Instructor contact email : [email protected]

Project description : Karmada supports managing a single cluster and taking over the resources deployed on the original single cluster. It also supports removing a single cluster to make it out of Karmada's control. When removing a single cluster, Karmada will clean up the resources that were once controlled by Karmada on the cluster. However, in some removal scenarios, users want these resources to remain in the single cluster. Karmada hopes to attract more users to try to evolve from a single cluster to multiple clusters. This capability can reduce users’ trial and error costs. When users want to roll back from multiple clusters to a single cluster, they can avoid causing damage to the single cluster after the rollback. Influence.

Therefore, we plan to provide a smooth rollback capability. Users can configure which resources to retain when removing a managed cluster, thereby selectively retaining resources in the original single cluster.

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40436?lang=zh&list=pro

Topic 2: Implementing the Override Policy management function of Karmada Dashboard

Project Difficulty : Advanced

Project community mentor : Lu Chuanjia (captain)

Tutor contact email : [email protected]

Project brief description : Currently, Karmada Dashboard already supports the display capabilities of Cluster, PropagationPolicy and OverridePolicy. The community is currently rewriting Karmada Dashboard, hoping to fully support the management capabilities of the above resources.

We hope to fully support the management of OverridePolicy Features in Karmada Dashboard, support editing and display of OverridePolicy resources through the OverridePolicy editor, and reduce the complexity of user use.

Project extension: Add LSP features to the YAML version of the editor (both local workers and remote JSON-RPC are available) to reduce the complexity of writing YAML for users;

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40342?lang=zh&list=pro

Topic 3: karmadactl supports configuration file method for production-level environment installation and deployment

Project Difficulty : Basic

Project community mentor : Liang Yuanpeng

Tutor contact email : [email protected]

Project brief description : Karmada provides the karmadactl init command installation method. More parameters need to be set during command execution. With the development of the community, users will need to set more and more parameters, which is inconvenient for users to use. In order to reduce excessive command line parameters, we propose installation and deployment through configuration files. You need to understand and be familiar with the karmadactl init source code, submit a proposal for the karmadactl init support configuration file, and promote the proposal to be merged by the karmada community. The main goal of this proposal is to reduce excessive command line parameters, gradually migrate parameters in the form of configuration files, and fully consider the scalability of the solution to make it easier to add new parameters in the future.

Related issue: https://github.com/karmada-io/karmada/issues/3464

In addition, karmadactl init needs to use multiple container images during the deployment process, and users cannot easily obtain the list of container images that will be used. Therefore, we plan to add an images list subcommand that allows users to print the container images used during the karmadactl init process on the console. This function is implemented as an element in the above solution.

Related issue: https://github.com/karmada-io/karmada/issues/4086.

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40186?lang=zh&list=pro

Topic 4: Karmada evenly distributes the number of replicas according to distribution constraints

Project Difficulty : Advanced

Project community mentor : He Junhua (whitewindmills)

Tutor contact email : [email protected]

Project brief description: In Karmada's current scheduler replica number allocation strategy, we already support four replica allocation methods: replication, static weight, aggregation based on the number of available replicas, and dynamic weight based on the number of available replicas. But for more complex scheduling scenarios: after cross-AZ distribution constraints, the number of replicas of the workload is distributed as evenly as possible in the selected cluster. Currently, Karmada does not support such scenarios well.

Therefore, we plan to semantically sort out the current Karmada scheduling strategy, determine whether to extend the existing API or change the original API design, and finally introduce this feature to meet the scheduling needs of more scenarios.

Related Issue: https://github.com/karmada-io/karmada/issues/4805

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40281?lang=zh&list=pro

Topic 5: Karmada supports OverridePolicy dynamic configuration mechanism

Project Difficulty : Advanced

Project community mentor : Jiang Xingyan (Chauncey)

Tutor contact email : [email protected]

Project description : Karmada uses Kubernetes native API and provides advanced scheduling functions. When Karmada schedules cloud native applications to different member clusters, users may need some differentiated configurations for different member clusters, such as setting different environment variables or setting different images for different member clusters. In this regard, Karmada provides a differentiated configuration policy API - OverridePolicy, which can set some differentiated configuration information for different clusters.

There is currently a limitation in the use of OverridePolicy. It can only set some static values ​​and cannot dynamically set values ​​based on some conditions. This limitation limits the usage scenarios of OverridePolicy. Therefore we want to provide a mechanism that can dynamically set values ​​based on conditions. This improves users' flexibility in using OverridePolicy for differentiated cluster configuration and brings more scalability to users. For example, users can expand by defining CEL or lua language in OverridePolicy. The community already has relevant issues tracking this task, and specific solutions need to continue to be advanced.

Project link: https://summer-ospp.ac.cn/org/prodetail/245c40337?lang=zh&list=pro

Topic 6: Karmada Dashboard automated i18n tool

Project Difficulty : Basic

Project community mentor : Ding Wenjiang (warjiang)

Tutor contact email : [email protected]

Project brief description : i18n is a very important component of the internationalization project. In the process of rewriting Karmada Dashboard, we found it difficult to find a set of out-of-the-box i18n tools in the open source community. As the scale of the project expands, manual management of i18n capabilities is not only inefficient, but also manual management of i18n resources is error-prone.

Therefore, we hope to develop a set of i18n automatic translation tools as a companion to the Karmada Dashboard, which supports automatic extraction of Chinese characters from the Karmada Dashboard project, automatic allocation of i18n keys, and replacement of the original Chinese characters with i18n translation tool functions, and the extraction of The Chinese characters received are automatically translated into the target language by calling a third-party translation API.

Project extension:

Provides a display page of i18n translation results locally, allowing users to view i18n coverage; supports users to manually modify i18n copywriting;

Use GPT to replace OpenAPI's translation implementation and establish Karmada Glossary to avoid automatic translation of key terms and improve translation quality.

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40338?lang=zh&list=pro

Topic 7: karmadactl function completion and operation and maintenance experience improvement

Project Difficulty : Basic

Project community mentor : Ren Hongcai

Instructor contact email : [email protected]

Project brief description : karmadactl is the command line tool (CLI) of the Karmada project, used for interaction between Karmada users and administrators and Karmada. Compared with kubectl, karmadactl is a CLI tool completely dedicated to Karmada multi-cluster scenarios. Currently, karmadactl implements some applications of commands such as get and top in multi-cluster scenarios, but there are still some scenarios that need to be implemented and optimized.

Therefore, we plan to complete the functions of karmadactl in multi-cluster scenarios, complete the functional implementation of commands such as karmadactl create/patch/edit, optimize the input and output of commands such as karmadactl get/apply, and further improve the operation and maintenance experience of karmadactl.

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40397?lang=zh&list=pro

Topic 8: Minimizing RBAC permissions of Karmada components

Project Difficulty : Advanced

Project community mentor : Zhang Zhuang

Instructor contact email : [email protected]

Project Description : The Karmada project uses RBAC authentication to regulate and control access to computer or network resources. If too large resource object access permissions are assigned when configuring RBAC, permission abuse may occur, allowing attackers to expand their results and penetrate the cluster. If too small a resource object access permission is allocated when configuring RBAC, the component may function abnormally.

Therefore, we plan to sort out the minimum RBAC permission set required by the Karmada component, revise the current RBAC recommended configuration of the Karmada repository, and make it comply with the RBAC least privilege principle, and ultimately use it to guide Karmada users to configure the RBAC permissions of the Karmada component.

Project link : https://summer-ospp.ac.cn/org/prodetail/245c40153?lang=zh&list=pro

How to register for the Open Source Summer Karmada project?

2.png

Registration target

  • This event is open to college students over 18 years old.
  • Students who are about to graduate in the summer can register for the event as long as their student ID card is valid when applying.
  • Chinese students are required to provide their ID card, student ID card, Ministry of Education student status online verification report (Xuexin.com) or proof of enrollment when participating in activities.
  • Foreign students are required to provide their passports when participating in activities, as well as admission notice, student card, enrollment certificate and other documents to prove their student identity.

From April 30 to June 4 , qualified students can register, communicate with tutors about projects and submit project applications through the official website of Open Source Summer (https://summer-ospp.ac.cn/).

Establish communication with mentor

Students who are interested in the Karmada Community Open Source Summer topics can contact the instructor in advance to communicate the topic requirements through the instructor's email address above this article or through community lectures , and understand and lock in projects that suit them;

Prepare project application materials and submit application

1. Check the [Project Application Template] in the Student Guide (https://summer-ospp.ac.cn/help/student/) and prepare relevant materials as required.

2. Click the [Add Alternative] button on the project homepage, enter the system personal center [My Project], click the [View] button, and upload your resume and project application form;

3. Prioritize all project applications. If selected by multiple projects at the same time, the projects with the highest priority will be selected first according to the submitted projects;

4. Click the [Sort and Submit] button to submit all project applications.

What can students gain?

  • Get to know friends and technology experts in the open source industry

  • Get professional guidance from community mentors and have in-depth exchanges with open source project developers

  • Enrich practical project experience and improve project development skills

  • Provide reference for study direction and accumulate contacts for career development

  • Students who pass the completion assessment will receive a completion bonus and completion certificate (8,000 RMB before tax for basic difficulty, 12,000 RMB before tax for advanced difficulty), and will have the opportunity to be selected as an outstanding student.

Karmada Community Open Source Summer Project Seminar

In order to help students better understand and select topics, the Karmada community will hold a topic presentation at a regular community meeting at 14:30 pm on May 7 (Tuesday). Students are welcome to pay attention and participate! Student participation link: https://zoom.com/my/karmada

 

Click to follow and learn about Huawei Cloud’s new technologies as soon as possible~

 

The pirated resources of "Qing Yu Nian 2" were uploaded to npm, causing npmmirror to have to suspend the unpkg service. Zhou Hongyi: There is not much time left for Google. I suggest that all products be open source. Please tell me, time.sleep(6) here plays a role. What does it do? Linus is the most active in "eating dog food"! The new iPad Pro uses 12GB of memory chips, but claims to have 8GB of memory. People’s Daily Online reviews office software’s matryoshka-style charging: Only by actively solving the “set” can we have a future. Flutter 3.22 and Dart 3.4 release a new development paradigm for Vue3, without the need for `ref/reactive `, no need for `ref.value` MySQL 8.4 LTS Chinese manual released: Help you master the new realm of database management Tongyi Qianwen GPT-4 level main model price reduced by 97%, 1 yuan and 2 million tokens
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4526289/blog/11184758