Dieser Artikel wurde von der Huawei Cloud Community geteilt : „Cloud Native Multi-Cloud Cluster Karmada | 8 Topics for 2024 Open Source Summer Invite You to Co-Create“ , Autor: Cloud Containers Great Future.
Einführung in den Open Source Summer
Die Studentenregistrierung für Open Source Summer 2024 beginnt am 30. April. Open Source Summer ist eine sommerliche Open-Source-Aktivität, die vom „Open Source Software Supply Chain Lighting Plan“ des Instituts für Software der Chinesischen Akademie der Wissenschaften initiiert und langfristig unterstützt wird. Ziel ist es, Schüler zu ermutigen, sich aktiv an der Entwicklung zu beteiligen Pflege von Open-Source-Software und Förderung und Entdeckung weiterer herausragender Entwicklertalente, Förderung der dynamischen Entwicklung exzellenter Open-Source-Software-Communitys und Unterstützung beim Aufbau von Open-Source-Software-Lieferketten. Die cloudnative Multi-Cloud-Container-Engine von Karmada bringt dieses Jahr 8 Themen aus dem Bereich Multi-Cloud und Multi-Cluster mit .
Einführung in die Karmada-Gemeinschaft
Karmada ( https://github.com/karmada-io ) ist das erste Multi-Cloud- und Multi-Cluster-Container-Orchestrierungsprojekt der Branche und außerdem ein Inkubationsprojekt der Cloud Native Computing Foundation (CNCF) . Die Karmada-Community wurde gemeinsam von acht Unternehmen initiiert, darunter Huawei Cloud, Industrial and Commercial Bank of China, Xiaohongshu und China FAW, und wurde im April 2021 offiziell als Open Source bereitgestellt. Karmadas Mitwirkende kommen aus der ganzen Welt und decken mehr als 60 Organisationen in 22 Ländern und Regionen auf der ganzen Welt ab, darunter Huawei, DaoCloud, Zhejiang University, Didi, Tencent, Xiaohongshu, Sina, Intel, IBM, Red Hat, Comcast und andere Unternehmen . Bisher hat das Projekt mehr als 4,1.000 Sterne auf GitHub, einer Hosting-Plattform für Open-Source-Softwareprojekte, erhalten.
Karmada (Kubernetes Armada) ist ein Kubernetes-Verwaltungssystem, das es Ihnen ermöglicht, Cloud-native Anwendungen in mehreren Kubernetes-Clustern und Cloud-Plattformen auszuführen, ohne dass Anwendungsänderungen erforderlich sind. Karmada ermöglicht wirklich offenes Multi-Cloud-Kubernetes durch die Verwendung nativer Kubernetes-APIs und die Bereitstellung erweiterter Planungsfunktionen.
Karmada Community Open Source Sommerprojekt 2024
Thema 1: Karmada unterstützt ein reibungsloses Rollback einzelner Clusterfunktionen
Projektschwierigkeit : Einfach
Mentor der Projektgemeinschaft : Pan Chaosi (Super Pan)
Kontakt-E-Mail des Kursleiters : [email protected]
Projektbeschreibung : Karmada unterstützt die Verwaltung eines einzelnen Clusters und die Übernahme der auf dem ursprünglichen einzelnen Cluster bereitgestellten Ressourcen. Außerdem unterstützt es das Entfernen eines einzelnen Clusters, um ihn der Kontrolle von Karmada zu entziehen. Beim Entfernen eines einzelnen Clusters bereinigt Karmada die Ressourcen, die zuvor von Karmada im Cluster kontrolliert wurden. In einigen Entfernungsszenarien möchten Benutzer jedoch, dass diese Ressourcen im einzelnen Cluster verbleiben. Karmada hofft, mehr Benutzer dazu zu bewegen, zu versuchen, von einem einzelnen Cluster zu mehreren Clustern zu wechseln. Wenn Benutzer von mehreren Clustern zu einem einzelnen Cluster zurückkehren möchten, können sie Schäden vermeiden einzelner Cluster nach dem Rollback-Einfluss.
Daher planen wir, eine reibungslose Rollback-Funktion bereitzustellen. Benutzer können konfigurieren, welche Ressourcen beim Entfernen eines verwalteten Clusters beibehalten werden sollen, wodurch Ressourcen selektiv im ursprünglichen einzelnen Cluster beibehalten werden.
Thema 2: Implementierung der Override-Policy-Verwaltungsfunktion des Karmada Dashboards
Projektschwierigkeit : Fortgeschritten
Mentor der Projektgemeinschaft : Lu Chuanjia (Kapitän)
Kontakt-E-Mail des Tutors : [email protected]
Kurzbeschreibung des Projekts : Derzeit unterstützt Karmada Dashboard bereits die Anzeigefunktionen von Cluster, PropagationPolicy und OverridePolicy. Die Community überarbeitet Karmada Dashboard derzeit in der Hoffnung, die Verwaltungsfunktionen der oben genannten Ressourcen vollständig zu unterstützen.
Wir hoffen, die Verwaltung der OverridePolicy-Funktionen im Karmada Dashboard vollständig zu unterstützen, die Bearbeitung und Anzeige von OverridePolicy-Ressourcen über den OverridePolicy-Editor zu unterstützen und die Komplexität der Benutzernutzung zu reduzieren.
Projekterweiterung: Fügen Sie der YAML-Version des Editors LSP-Funktionen hinzu (sowohl lokale Worker als auch Remote-JSON-RPC sind verfügbar), um die Komplexität des Schreibens von YAML für Benutzer zu verringern;
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40342?lang=zh&list=pro
Thema 3: karmadactl unterstützt die Konfigurationsdateimethode für die Installation und Bereitstellung von Umgebungen auf Produktionsebene
Projektschwierigkeit : Einfach
Mentor der Projektgemeinschaft : Liang Yuanpeng
Kontakt-E-Mail des Tutors : [email protected]
Kurzbeschreibung des Projekts : Karmada stellt die Installationsmethode für den Befehl karmadactl init bereit. Mit der Entwicklung der Community müssen Benutzer immer mehr Parameter festlegen, was für Benutzer unpraktisch ist. Um übermäßige Befehlszeilenparameter zu reduzieren, schlagen wir die Installation und Bereitstellung über Konfigurationsdateien vor. Sie müssen den Karmadactl-Init-Quellcode verstehen und mit ihm vertraut sein, einen Vorschlag für die Karmadactl-Init-Unterstützungskonfigurationsdatei einreichen und den Vorschlag zur Zusammenführung durch die Karmada-Community bewerben. Das Hauptziel dieses Vorschlags besteht darin, übermäßige Befehlszeilenparameter zu reduzieren, Parameter schrittweise in Form von Konfigurationsdateien zu migrieren und die Skalierbarkeit der Lösung vollständig zu berücksichtigen, um das Hinzufügen neuer Parameter in Zukunft zu erleichtern.
Verwandtes Problem: https://github.com/karmada-io/karmada/issues/3464
Darüber hinaus muss karmadactl init während des Bereitstellungsprozesses mehrere Container-Images verwenden, und Benutzer können die Liste der zu verwendenden Container-Images nicht einfach abrufen. Daher planen wir, einen Unterbefehl „images list“ hinzuzufügen, der es Benutzern ermöglicht, die während des Karmadactl-Init-Prozesses verwendeten Containerbilder auf der Konsole zu drucken. Diese Funktion ist als Element in der obigen Lösung implementiert.
Verwandtes Problem: https://github.com/karmada-io/karmada/issues/4086.
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40186?lang=zh&list=pro
Thema 4: Karmada verteilt die Anzahl der Replikate gleichmäßig gemäß den Verteilungsbeschränkungen
Projektschwierigkeit : Fortgeschritten
Mentor der Projektgemeinschaft : He Junhua (whitewindmills)
Kontakt-E-Mail des Tutors : [email protected]
Kurzbeschreibung des Projekts: In Karmadas aktueller Scheduler-Replikatnummernzuteilungsstrategie unterstützen wir bereits vier Replikatzuteilungsmethoden: Replikation, statische Gewichtung, Aggregation basierend auf der Anzahl verfügbarer Replikate und dynamische Gewichtung basierend auf der Anzahl verfügbarer Replikate. Aber für komplexere Planungsszenarien: Nach AZ-übergreifenden Verteilungsbeschränkungen wird die Anzahl der Replikate der Arbeitslast so gleichmäßig wie möglich im ausgewählten Cluster verteilt. Derzeit unterstützt Karmada solche Szenarien nicht gut.
Daher planen wir, die aktuelle Karmada-Planungsstrategie semantisch zu sortieren, zu bestimmen, ob die vorhandene API erweitert oder das ursprüngliche API-Design geändert werden soll, und schließlich diese Funktion einzuführen, um den Planungsanforderungen weiterer Szenarien gerecht zu werden.
Verwandtes Problem: https://github.com/karmada-io/karmada/issues/4805
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40281?lang=zh&list=pro
Thema 5: Karmada unterstützt den dynamischen Konfigurationsmechanismus OverridePolicy
Projektschwierigkeit : Fortgeschritten
Mentor der Projektgemeinschaft : Jiang Xingyan (Chauncey)
Kontakt-E-Mail des Tutors : [email protected]
Projektbeschreibung : Karmada verwendet die native Kubernetes-API und bietet erweiterte Planungsfunktionen. Wenn Karmada Cloud-native Anwendungen für verschiedene Mitgliedscluster plant, benötigen Benutzer möglicherweise einige differenzierte Konfigurationen für verschiedene Mitgliedscluster, z. B. das Festlegen unterschiedlicher Umgebungsvariablen oder das Festlegen unterschiedlicher Bilder für verschiedene Mitgliedscluster. In diesem Zusammenhang stellt Karmada eine differenzierte Konfigurationsrichtlinien-API – OverridePolicy – bereit, mit der einige differenzierte Konfigurationsinformationen für verschiedene Cluster festgelegt werden können.
Derzeit gibt es eine Einschränkung bei der Verwendung von OverridePolicy. Es können nur einige statische Werte festgelegt werden und Werte basierend auf bestimmten Bedingungen nicht dynamisch festgelegt werden. Daher möchten wir einen Mechanismus bereitstellen, der Werte basierend auf Bedingungen dynamisch festlegen kann. Dies verbessert die Flexibilität der Benutzer bei der Verwendung von OverridePolicy für die differenzierte Clusterkonfiguration und bietet Benutzern mehr Skalierbarkeit. Beispielsweise können Benutzer die Erweiterung durch die Definition der CEL- oder Lua-Sprache in OverridePolicy durchführen. Die Community hat bereits relevante Probleme bei der Verfolgung dieser Aufgabe und spezifische Lösungen müssen weiter weiterentwickelt werden.
Projektlink: https://summer-ospp.ac.cn/org/prodetail/245c40337?lang=zh&list=pro
Thema 6: Karmada Dashboard automatisiertes i18n-Tool
Projektschwierigkeit : Einfach
Mentor der Projektgemeinschaft : Ding Wenjiang (warjiang)
Kontakt-E-Mail des Tutors : [email protected]
Kurzbeschreibung des Projekts : i18n ist ein sehr wichtiger Bestandteil des Internationalisierungsprojekts. Beim Neuschreiben des Karmada Dashboards fiel es uns schwer, in der Open-Source-Community eine Reihe sofort einsatzbereiter i18n-Tools zu finden. Mit zunehmendem Umfang des Projekts ist die manuelle Verwaltung der i18n-Funktionen nicht nur ineffizient, sondern auch fehleranfällig.
Daher hoffen wir, als Ergänzung zum Karmada Dashboard eine Reihe automatischer i18n-Übersetzungstools zu entwickeln, die die automatische Extraktion chinesischer Schriftzeichen aus dem Karmada Dashboard-Projekt, die automatische Zuweisung von i18n-Schlüsseln und das Ersetzen der ursprünglichen chinesischen Schriftzeichen durch i18n-Übersetzung unterstützen Tool-Funktionen und die Extraktion der empfangenen chinesischen Zeichen werden automatisch in die Zielsprache übersetzt, indem eine Übersetzungs-API eines Drittanbieters aufgerufen wird.
Projekterweiterung:
Bietet eine lokale Anzeigeseite mit i18n-Übersetzungsergebnissen, die es Benutzern ermöglicht, die i18n-Abdeckung anzuzeigen. Unterstützt Benutzer bei der manuellen Änderung von i18n-Texten.
Verwenden Sie GPT, um die Übersetzungsimplementierung von OpenAPI zu ersetzen und ein Karmada-Glossar einzurichten, um die automatische Übersetzung von Schlüsselbegriffen zu vermeiden und die Übersetzungsqualität zu verbessern.
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40338?lang=zh&list=pro
Thema 7: Vervollständigung der Karmadactl-Funktion sowie Verbesserung der Betriebs- und Wartungserfahrung
Projektschwierigkeit : Einfach
Mentor der Projektgemeinschaft : Ren Hongcai
Kontakt-E-Mail des Kursleiters : [email protected]
Kurzbeschreibung des Projekts : karmadactl ist das Befehlszeilentool (CLI) des Karmada-Projekts, das für die Interaktion zwischen Karmada-Benutzern und -Administratoren und Karmada verwendet wird. Im Vergleich zu kubectl ist karmadactl ein CLI-Tool, das ausschließlich auf Karmada-Multi-Cluster-Szenarien ausgerichtet ist. Derzeit implementiert karmadactl einige Anwendungen von Befehlen wie get und top in Multi-Cluster-Szenarien, es gibt jedoch noch einige Szenarien, die implementiert und optimiert werden müssen.
Daher planen wir, die Funktionen von karmadactl in Multi-Cluster-Szenarien zu vervollständigen, die funktionale Implementierung von Befehlen wie karmadactl create/patch/edit abzuschließen, die Eingabe und Ausgabe von Befehlen wie karmadactl get/apply zu optimieren und den Betrieb weiter zu verbessern und Wartungserfahrung von Karmadactl.
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40397?lang=zh&list=pro
Thema 8: Minimierung der RBAC-Berechtigungen von Karmada-Komponenten
Projektschwierigkeit : Fortgeschritten
Mentor der Projektgemeinschaft : Zhang Zhuang
Kontakt-E-Mail des Kursleiters : [email protected]
Projektbeschreibung : Das Karmada-Projekt nutzt die RBAC-Authentifizierung, um den Zugriff auf Computer- oder Netzwerkressourcen zu regulieren und zu kontrollieren. Wenn bei der Konfiguration von RBAC zu große Zugriffsberechtigungen für Ressourcenobjekte zugewiesen werden, kann es zu einem Berechtigungsmissbrauch kommen, der es Angreifern ermöglicht, ihre Ergebnisse zu erweitern und in den Cluster einzudringen. Wenn bei der Konfiguration von RBAC eine zu kleine Zugriffsberechtigung für Ressourcenobjekte zugewiesen wird, funktioniert die Komponente möglicherweise nicht ordnungsgemäß.
Daher planen wir, den für die Karmada-Komponente erforderlichen Mindest-RBAC-Berechtigungssatz festzulegen, die aktuell empfohlene RBAC-Konfiguration des Karmada-Repositorys zu überarbeiten, sie an das RBAC-Prinzip der geringsten Rechte anzupassen und sie letztendlich als Anleitung für Karmada-Benutzer bei der Konfiguration zu verwenden die RBAC-Berechtigungen der Karmada-Komponente.
Projektlink : https://summer-ospp.ac.cn/org/prodetail/245c40153?lang=zh&list=pro
Wie registriere ich mich für das Open Source Summer Karmada-Projekt?
Registrierungsziel
-
Diese Veranstaltung steht Studenten ab 18 Jahren offen.
-
Studierende, die im Sommer kurz vor ihrem Abschluss stehen, können sich für die Veranstaltung anmelden, sofern ihr Studierendenausweis bei der Bewerbung gültig ist.
-
Chinesische Studierende müssen bei der Teilnahme an Aktivitäten ihren Personalausweis, ihren Studentenausweis, einen Online-Überprüfungsbericht zum Studentenstatus des Ministeriums für Bildung (Xuexin.com) oder einen Immatrikulationsnachweis vorlegen.
-
Ausländische Studierende müssen bei der Teilnahme an Aktivitäten ihren Reisepass sowie einen Zulassungsbescheid, einen Studierendenausweis, eine Immatrikulationsbescheinigung und andere Dokumente zum Nachweis ihrer Studierendenidentität vorlegen.
Vom 30. April bis 4. Juni können sich qualifizierte Studierende über die offizielle Website des Open Source Summer (https://summer-ospp.ac.cn/) anmelden, mit Tutoren über Projekte kommunizieren und Projektanträge einreichen.
Stellen Sie eine Kommunikation mit dem Mentor her
Studierende, die sich für die Themen des Karmada Community Open Source Summer interessieren, können sich im Voraus an den Dozenten wenden, um die Themenanforderungen über die E-Mail-Adresse des Dozenten über diesem Artikel oder durch Community-Vorlesungen mitzuteilen und Projekte zu verstehen und zu sichern, die zu ihnen passen;
Bereiten Sie Projektantragsunterlagen vor und reichen Sie den Antrag ein
1. Überprüfen Sie die [Projektantragsvorlage] im Studentenhandbuch (https://summer-ospp.ac.cn/help/student/) und bereiten Sie bei Bedarf relevante Materialien vor.
2. Klicken Sie auf der Projekt-Homepage auf die Schaltfläche [Alternative hinzufügen], rufen Sie das persönliche Systemcenter [Mein Projekt] auf, klicken Sie auf die Schaltfläche [Anzeigen] und laden Sie Ihren Lebenslauf und Ihr Projektantragsformular hoch.
3. Priorisieren Sie alle Projektanträge. Wenn mehrere Projekte gleichzeitig ausgewählt werden, werden die Projekte mit der höchsten Priorität entsprechend den eingereichten Projekten zuerst ausgewählt.
4. Klicken Sie auf die Schaltfläche [Sortieren und absenden], um alle Projektanträge einzureichen.
Was können Studierende gewinnen?
-
Lernen Sie Freunde und Technologieexperten der Open-Source-Branche kennen
-
Erhalten Sie professionelle Anleitung von Community-Mentoren und tauschen Sie sich intensiv mit Open-Source-Projektentwicklern aus
-
Bereichern Sie Ihre praktische Projekterfahrung und verbessern Sie Ihre Projektentwicklungsfähigkeiten
-
Bieten Sie Referenzen für die Studienrichtung und knüpfen Sie Kontakte für die Karriereentwicklung
-
Studierende, die die Abschlussprüfung bestehen, erhalten eine Abschlussprämie und ein Abschlusszertifikat (8.000 RMB vor Steuern für den einfachen Schwierigkeitsgrad, 12.000 RMB vor Steuern für den fortgeschrittenen Schwierigkeitsgrad) und haben die Möglichkeit, als herausragender Student ausgewählt zu werden.
Karmada Community Open Source Sommerprojektseminar
Die Raubkopien von „Qing Yu Nian 2“ wurden auf npmror hochgeladen, was dazu führte, dass npmmirror den Unpkg-Dienst einstellen musste: Es bleibt nicht mehr viel Zeit für Google. Ich schlage vor, dass alle Produkte Open Source sind . time.sleep(6) spielt hier eine Rolle. Linus ist am aktivsten beim „Hundefutter fressen“! Das neue iPad Pro verwendet 12 GB Speicherchips, behauptet jedoch, über 8 GB Speicher zu verfügen. People’s Daily Online bewertet die Aufladung im Matroschka-Stil: Nur durch aktives Lösen des „Sets“ können wir eine Zukunft haben Neues Entwicklungsparadigma für Vue3, ohne die Notwendigkeit von „ref/reactive“ und ohne die Notwendigkeit von „ref.value“. MySQL 8.4 LTS Chinesisches Handbuch veröffentlicht: Hilft Ihnen, den neuen Bereich der Datenbankverwaltung zu meistern Tongyi Qianwen GPT-4-Level-Hauptmodellpreis reduziert um 97 %, 1 Yuan und 2 Millionen Token