이 기사는 Huawei Cloud 커뮤니티 "클라우드 네이티브 멀티 클라우드 클러스터 Karmada | 2024년 오픈 소스 여름을 위한 8가지 주제 공동 생성에 초대합니다"( 저자: Cloud Containers Great Future)에서 공유되었습니다.
오픈소스 여름 소개
오픈소스 여름 2024 학생 등록이 4월 30일에 시작됩니다. 오픈 소스 여름(Open Source Summer)은 중국과학원 소프트웨어 연구소의 "오픈 소스 소프트웨어 공급망 조명 계획"에 의해 시작되고 장기적으로 지원되는 여름 오픈 소스 활동입니다. 오픈 소스 소프트웨어를 유지 관리하고, 더 많은 뛰어난 개발자를 양성 및 발굴하고, 우수한 오픈 소스 소프트웨어 커뮤니티의 활발한 발전을 촉진하며, 오픈 소스 소프트웨어 공급망 구축을 지원합니다. Karmada 클라우드 기반 다중 클라우드 컨테이너 엔진은 올해 다중 클라우드 및 다중 클러스터 분야의 8가지 주제를 제공합니다 .
Karmada 커뮤니티 소개
Karmada( https://github.com/karmada-io ) 는 업계 최초의 멀티 클라우드, 멀티 클러스터 컨테이너 오케스트레이션 프로젝트이자 CNCF(Cloud Native Computing Foundation) 인큐베이션 수준 프로젝트이기도 합니다 . Karmada 커뮤니티는 Huawei Cloud, 중국공상은행, Xiaohongshu, China FAW 등 8개 회사가 공동으로 시작했으며 2021년 4월 공식적으로 오픈소스화되었습니다. Karmada의 기여자는 전 세계에서 왔으며 Huawei, DaoCloud, Zhejiang University, Didi, Tencent, Xiaohongshu, Sina, Intel, IBM, Red Hat, Comcast 및 기타 회사를 포함하여 전 세계 22개 국가 및 지역의 60개 이상의 조직을 포괄합니다. . 지금까지 이 프로젝트는 오픈 소스 소프트웨어 프로젝트 호스팅 플랫폼인 GitHub에서 4100개 이상의 별을 받았습니다.
Karmada(Kubernetes Armada)는 애플리케이션 변경 없이 여러 Kubernetes 클러스터 및 클라우드 플랫폼에서 클라우드 네이티브 애플리케이션을 실행할 수 있게 해주는 Kubernetes 관리 시스템입니다. Karmada는 Kubernetes 네이티브 API를 사용하고 고급 예약 기능을 제공하여 진정한 개방형 멀티 클라우드 Kubernetes를 지원합니다.
Karmada 커뮤니티 오픈소스 2024년 여름 프로젝트
주제 1: Karmada는 단일 클러스터 기능의 원활한 롤백을 지원합니다.
프로젝트 난이도 : 기본
프로젝트 커뮤니티 멘토 : Pan Chaosi(슈퍼팬)
강사 연락처 이메일 : [email protected]
프로젝트 설명 : Karmada는 단일 클러스터 관리를 지원하고 원래 단일 클러스터에 배포된 리소스를 인수하여 단일 클러스터를 제거하여 Karmada의 제어를 벗어나도록 지원합니다. 단일 클러스터를 제거할 때 Karmada는 한때 Karmada가 클러스터에서 제어했던 리소스를 정리합니다. 그러나 일부 제거 시나리오에서는 사용자가 이러한 리소스를 단일 클러스터에 유지하기를 원합니다. Karmada는 단일 클러스터에서 다중 클러스터로 발전하기 위해 더 많은 사용자를 유치하기를 희망합니다. 이 기능을 통해 사용자는 여러 클러스터에서 단일 클러스터로 롤백하려는 경우 손상을 피할 수 있습니다. 롤백 후 단일 클러스터.
따라서 사용자는 관리형 클러스터를 제거할 때 어떤 리소스를 유지할지 구성하여 원래 단일 클러스터의 리소스를 선택적으로 유지할 수 있는 원활한 롤백 기능을 제공할 계획입니다.
주제 2: Karmada 대시보드의 재정의 정책 관리 기능 구현
프로젝트 난이도 : 고급
프로젝트 커뮤니티 멘토 : Lu Chuanjia(주장)
강사 연락처 이메일 : [email protected]
프로젝트 간략한 설명 : 현재 Karmada Dashboard는 이미 Cluster, PropagationPolicy 및 OverridePolicy의 표시 기능을 지원하고 있으며, 위 리소스의 관리 기능을 완전히 지원하기 위해 커뮤니티에서는 현재 Karmada Dashboard를 다시 작성하고 있습니다.
Karmada 대시보드에서 OverridePolicy 기능 관리를 완벽하게 지원하고 OverridePolicy 편집기를 통해 OverridePolicy 리소스 편집 및 표시를 지원하며 사용자 사용의 복잡성을 줄이기를 바랍니다.
프로젝트 확장: YAML 버전의 편집기(로컬 작업자와 원격 JSON-RPC 모두 사용 가능)에 LSP 기능을 추가하여 사용자를 위한 YAML 작성의 복잡성을 줄입니다.
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40342?lang=zh&list=pro
주제 3: karmadactl은 프로덕션 수준 환경 설치 및 배포를 위한 구성 파일 방법을 지원합니다.
프로젝트 난이도 : 기본
프로젝트 커뮤니티 멘토 : Liang Yuanpeng
강사 연락처 이메일 : [email protected]
프로젝트 간략한 설명 : Karmada는 karmadactl init 명령 설치 방법을 제공합니다. 명령 실행 중에 더 많은 매개변수를 설정해야 합니다. 커뮤니티가 발전함에 따라 사용자는 점점 더 많은 매개변수를 설정해야 하므로 사용자가 사용하기 불편합니다. 과도한 명령줄 매개변수를 줄이기 위해 구성 파일을 통한 설치 및 배포를 제안합니다. karmadactl init 소스 코드를 이해하고 숙지해야 하며, karmadactl init 지원 구성 파일에 대한 제안을 제출하고, 해당 제안이 karmada 커뮤니티에 병합되도록 홍보해야 합니다. 이 제안의 주요 목표는 과도한 명령줄 매개변수를 줄이고, 매개변수를 구성 파일 형태로 점진적으로 마이그레이션하며, 향후 새 매개변수를 더 쉽게 추가할 수 있도록 솔루션의 확장성을 충분히 고려하는 것입니다.
관련 문제: https://github.com/karmada-io/karmada/issues/3464
또한 karmadactl init는 배포 프로세스 중에 여러 컨테이너 이미지를 사용해야 하며 사용자는 사용될 컨테이너 이미지 목록을 쉽게 얻을 수 없습니다. 따라서 사용자가 콘솔에서 karmadactl init 프로세스 중에 사용된 컨테이너 이미지를 인쇄할 수 있도록 하는 이미지 목록 하위 명령을 추가할 계획입니다. 이 기능은 위 솔루션의 요소로 구현됩니다.
관련 문제: https://github.com/karmada-io/karmada/issues/4086.
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40186?lang=zh&list=pro
주제 4: Karmada는 배포 제약 조건에 따라 복제본 수를 균등하게 배포합니다.
프로젝트 난이도 : 고급
프로젝트 커뮤니티 멘토 : 허준화(whitewindmills)
강사 연락처 이메일 : [email protected]
프로젝트 간략한 설명: Karmada의 현재 스케줄러 복제본 번호 할당 전략에서는 복제, 정적 가중치, 사용 가능한 복제본 수에 따른 집계, 사용 가능한 복제본 수에 따른 동적 가중치 등 네 가지 복제본 할당 방법을 이미 지원합니다. 그러나 보다 복잡한 예약 시나리오의 경우 교차 AZ 배포 제약 조건 이후 워크로드의 복제본 수가 선택한 클러스터에 최대한 균등하게 배포됩니다. 현재 Karmada는 이러한 시나리오를 잘 지원하지 않습니다.
따라서 우리는 현재 Karmada 스케줄링 전략을 의미론적으로 분류하고, 기존 API를 확장할지 아니면 원래 API 디자인을 변경할지 결정하고, 최종적으로 더 많은 시나리오의 스케줄링 요구 사항을 충족하기 위해 이 기능을 도입할 계획입니다.
관련 문제: https://github.com/karmada-io/karmada/issues/4805
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40281?lang=zh&list=pro
주제 5: Karmada는 OverridePolicy 동적 구성 메커니즘을 지원합니다.
프로젝트 난이도 : 고급
프로젝트 커뮤니티 멘토 : Jiang Xingyan (Chauncey)
강사 연락처 이메일 : [email protected]
프로젝트 설명 : Karmada는 Kubernetes 네이티브 API를 사용하고 고급 일정 기능을 제공합니다. Karmada가 클라우드 네이티브 애플리케이션을 다른 구성원 클러스터에 예약할 때 사용자는 다른 환경 변수를 설정하거나 다른 구성원 클러스터에 대해 다른 이미지를 설정하는 등 다른 구성원 클러스터에 대해 일부 차별화된 구성이 필요할 수 있습니다. 이와 관련하여 Karmada는 다양한 클러스터에 대해 일부 차별화된 구성 정보를 설정할 수 있는 차별화된 구성 정책 API인 OverridePolicy를 제공합니다.
현재 OverridePolicy 사용에는 제한이 있습니다. 일부 정적 값만 설정할 수 있으며 일부 조건에 따라 값을 동적으로 설정할 수는 없습니다. 이 제한으로 인해 OverridePolicy의 사용 시나리오가 제한됩니다. 따라서 조건에 따라 동적으로 값을 설정할 수 있는 메커니즘을 제공하고자 합니다. 이를 통해 차별화된 클러스터 구성을 위해 OverridePolicy를 사용할 때 사용자의 유연성이 향상되고 사용자에게 더 많은 확장성이 제공됩니다. 예를 들어 사용자는 OverridePolicy에서 CEL 또는 lua 언어를 정의하여 확장할 수 있습니다. 커뮤니티에는 이미 이 작업을 추적하는 관련 문제가 있으며 특정 솔루션은 계속 발전해야 합니다.
프로젝트 링크: https://summer-ospp.ac.cn/org/prodetail/245c40337?lang=zh&list=pro
주제 6: Karmada Dashboard 자동화된 i18n 도구
프로젝트 난이도 : 기본
프로젝트 커뮤니티 멘토 : Ding Wenjiang (warjiang)
강사 연락처 이메일 : [email protected]
프로젝트 간략한 설명 : i18n은 국제화 프로젝트의 매우 중요한 구성 요소입니다. Karmada Dashboard를 다시 작성하는 과정에서 우리는 오픈 소스 커뮤니티에서 즉시 사용 가능한 i18n 도구 세트를 찾는 것이 어렵다는 것을 알게 되었습니다. 프로젝트 규모가 확장됨에 따라 i18n 기능을 수동으로 관리하는 것은 비효율적일 뿐만 아니라 i18n 리소스를 수동으로 관리하면 오류가 발생하기 쉽습니다.
따라서 우리는 Karmada Dashboard 프로젝트에서 한자 자동 추출, i18n 키 자동 할당 및 원본 한자를 i18n 번역으로 대체하는 i18n 자동 번역 도구 세트를 Karmada Dashboard의 동반자로 개발하고자 합니다. 도구 기능 및 수신된 한자 추출은 타사 번역 API를 호출하여 자동으로 대상 언어로 번역됩니다.
프로젝트 확장:
i18n 번역 결과의 표시 페이지를 로컬로 제공하여 사용자가 i18n 적용 범위를 볼 수 있도록 지원합니다.
GPT를 사용하여 OpenAPI의 번역 구현을 대체하고 Karmada 용어집을 구축하여 주요 용어의 자동 번역을 방지하고 번역 품질을 향상시킵니다.
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40338?lang=zh&list=pro
주제 7: karmadactl 기능 완성 및 운영 및 유지 관리 경험 개선
프로젝트 난이도 : 기본
프로젝트 커뮤니티 멘토 : Ren Hongcai
강사 연락처 이메일 : [email protected]
프로젝트 간략한 설명 : karmadactl은 Karmada 사용자 및 관리자와 Karmada 간의 상호 작용에 사용되는 Karmada 프로젝트의 명령줄 도구(CLI)입니다. kubectl과 비교할 때 karmadactl은 Karmada 다중 클러스터 시나리오 전용 CLI 도구입니다. 현재 karmadactl은 다중 클러스터 시나리오에서 get 및 top과 같은 명령의 일부 애플리케이션을 구현하지만 여전히 구현하고 최적화해야 하는 일부 시나리오가 있습니다.
따라서 우리는 다중 클러스터 시나리오에서 karmadactl의 기능을 완성하고 karmadactl create/patch/edit와 같은 명령의 기능적 구현을 완료하고 karmadactl get/apply와 같은 명령의 입력 및 출력을 최적화하고 작동을 더욱 개선할 계획입니다. 및 karmadactl의 유지보수 경험.
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40397?lang=zh&list=pro
주제 8: Karmada 구성 요소의 RBAC 권한 최소화
프로젝트 난이도 : 고급
프로젝트 커뮤니티 멘토 : Zhang Zhuang
강사 연락처 이메일 : [email protected]
프로젝트 설명 : Karmada 프로젝트는 RBAC 인증을 사용하여 컴퓨터 또는 네트워크 리소스에 대한 액세스를 규제하고 제어합니다. RBAC를 구성할 때 너무 큰 리소스 개체 액세스 권한을 할당하면 권한 남용이 발생할 수 있으며, 이로 인해 공격자가 결과를 확장하고 클러스터에 침투할 수 있습니다. RBAC 구성 시 너무 작은 리소스 개체 접근 권한을 할당할 경우 구성 요소가 비정상적으로 작동할 수 있습니다.
따라서 우리는 Karmada 구성 요소에 필요한 최소 RBAC 권한 집합을 정리하고 Karmada 저장소의 현재 RBAC 권장 구성을 수정하여 RBAC 최소 권한 원칙을 준수하도록 하고 궁극적으로 이를 사용하여 Karmada 사용자에게 구성을 안내할 계획입니다. Karmada 구성 요소의 RBAC 권한.
프로젝트 링크 : https://summer-ospp.ac.cn/org/prodetail/245c40153?lang=zh&list=pro
오픈 소스 Summer Karmada 프로젝트에 등록하는 방법은 무엇입니까?
등록대상
-
본 행사는 18세 이상의 대학생을 대상으로 합니다.
-
여름학기 졸업을 앞둔 학생들은 신청 시 학생증이 유효한 한 행사에 등록할 수 있습니다.
-
중국 학생은 활동 참여 시 신분증, 학생증, 교육부 학생 신분 온라인 확인 보고서(Xuexin.com) 또는 등록 증명서를 제시해야 합니다.
-
외국인 학생은 활동 참여 시 여권을 제시해야 하며, 입학 통지서, 학생증, 재학증명서 및 학생 신분을 증명할 수 있는 기타 서류를 제시해야 합니다.
4월 30일부터 6월 4일까지 자격을 갖춘 학생들은 Open Source Summer 공식 웹사이트(https://summer-ospp.ac.cn/)를 통해 등록하고, 프로젝트에 대해 강사와 소통하고, 프로젝트 신청서를 제출할 수 있습니다.
멘토와의 소통 확립
Karmada 커뮤니티 오픈 소스 여름 주제에 관심이 있는 학생은 강사에게 미리 연락하여 이 기사 위에 있는 강사의 이메일 주소나 커뮤니티 강의를 통해 주제 요구 사항을 전달 하고 자신에게 적합한 프로젝트를 이해하고 고정할 수 있습니다.
프로젝트 지원자료 준비 및 지원서 제출
1. 학생안내서(https://summer-ospp.ac.cn/help/student/)의 [프로젝트 지원 템플릿]을 확인하고, 필요에 따라 관련 자료를 준비하세요.
2. 프로젝트 홈페이지에서 [대안 추가] 버튼을 클릭하고 시스템 개인센터 [내 프로젝트]에 진입한 후 [보기] 버튼을 클릭하여 이력서와 프로젝트 지원서를 업로드합니다.
3. 모든 프로젝트 신청의 우선순위를 정하세요. 여러 프로젝트에서 동시에 선택한 경우 제출된 프로젝트에 따라 우선순위가 가장 높은 프로젝트가 먼저 선택됩니다.
4. 모든 프로젝트 지원서를 제출하려면 [정렬 및 제출] 버튼을 클릭하세요.
학생들은 무엇을 얻을 수 있나요?
-
오픈소스 업계의 친구와 기술 전문가를 알아보세요.
-
커뮤니티 멘토로부터 전문적인 지도를 받고, 오픈소스 프로젝트 개발자와 심도 있는 교류를 해보세요.
-
실제 프로젝트 경험을 풍부하게 하고 프로젝트 개발 기술을 향상시킵니다.
-
학습방향에 대한 참고자료 제공 및 경력개발을 위한 인맥 축적
-
수료 평가를 통과한 학생에게는 수료 보너스와 수료증(기본 난이도는 세전 8,000위안, 고급 난이도는 세전 12,000위안)이 수여되며 우수 학생으로 선정될 수 있는 기회가 주어집니다.
Karmada 커뮤니티 오픈소스 여름 프로젝트 세미나
화웨이 클라우드의 신기술에 대해 빨리 알아보고 팔로우하려면 클릭하세요~
"Qing Yu Nian 2"의 불법 복제된 리소스가 npm에 업로드되어 npmmirror가 unpkg 서비스를 중단하게 되었습니다. Zhou Hongyi: Google에 남은 시간이 많지 않습니다. time.sleep(6) 여기서는 어떤 역할을 합니까? 리누스는 "개사료 먹기"에 가장 적극적입니다! 새로운 iPad Pro는 12GB의 메모리 칩을 사용하지만 8GB의 메모리를 가지고 있다고 주장합니다. People's Daily Online은 사무용 소프트웨어의 마트료시카 스타일 충전을 검토합니다. "세트"를 적극적으로 해결해야만 Flutter 3.22 및 Dart 3.4 출시가 가능 합니다. 'ref/reactive'가 필요 없는 Vue3의 새로운 개발 패러다임, 'ref.value'가 필요 없음 MySQL 8.4 LTS 중국어 매뉴얼 출시: 데이터베이스 관리의 새로운 영역을 마스터하는 데 도움 Tongyi Qianwen GPT-4 수준 메인 모델 가격 인하 97% 증가, 1위안 200만 토큰