Skip to content

Commit

Permalink
Merge branch 'main' into kyverno
Browse files Browse the repository at this point in the history
Signed-off-by: Nate W <[email protected]>
  • Loading branch information
nate-double-u authored Jul 31, 2024
2 parents 551d7a9 + ac427a5 commit e3d4ae5
Show file tree
Hide file tree
Showing 2 changed files with 221 additions and 0 deletions.
45 changes: 45 additions & 0 deletions programs/lfx-mentorship/2024/03-Sep-Nov/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,51 @@ Mentee application instructions can be found on the [Program Guidelines](https:/

## Accepted projects

<!-- TOC -->
* [Antrea](#antrea)
* [Support application-level DNS caches when using FQDN-based security rules](#support-application-level-dns-caches-when-using-fqdn-based-security-rules)
* [Envoy Gateway](#envoy-gateway)
* [IPv4/IPv6 Dual Stack Support](#ipv4ipv6-dual-stack-support)
* [Harbor](#harbor)
* [Harbor CLI](#harbor-cli)
* [Harbor Satellite](#harbor-satellite)
* [Inspektor Gadget](#inspektor-gadget)
* [New gadget for detecting deadlocks](#new-gadget-for-detecting-deadlocks)
* [Testing Inspektor Gadget gadgets on different kernel versions](#testing-inspektor-gadget-gadgets-on-different-kernel-versions)
* [Exploring Chaos Engineering with eBPF and Inspektor Gadget](#exploring-chaos-engineering-with-ebpf-and-inspektor-gadget)
* [Develop DNS/HTTP event generation capabilities in Inspektor Gadget](#develop-dnshttp-event-generation-capabilities-in-inspektor-gadget)
* [Istio](#istio)
* [Improve documentation build infrastructure](#improve-documentation-build-infrastructure)
* [Implement new site search](#implement-new-site-search)
* [Jaeger](#jaeger)
* [Jaeger v2 Kubernetes Operator](#jaeger-v2-kubernetes-operator)
* [Jaeger v2 Helm Chart](#jaeger-v2-helm-chart)
* [KCL](#kcl)
* [New local dependency storage for KCL package management tool](#new-local-dependency-storage-for-kcl-package-management-tool)
* [The checksum check of the three-party dependencies](#the-checksum-check-of-the-three-party-dependencies)
* [KCL Language Server Protocol Support on Lsp4IJ for Jetbrains IDEs](#kcl-language-server-protocol-support-on-lsp4ij-for-jetbrains-ides)
* [Konveyor AI](#konveyor-ai)
* [Intelli-j IDE plugin integration of analyzer-lsp for real time updates with Konveyor AI](#intelli-j-ide-plugin-integration-of-analyzer-lsp-for-real-time-updates-with-konveyor-ai)
* [Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration](#enhancing-kai-with-data-querying-for-fine-tuning-and-potential-instructlab-integration)
* [KubeArmor](#kubearmor)
* [Implement Fuzz testing for KubeArmor Components](#implement-fuzz-testing-for-kubearmor-components)
* [Support Podman and OCI Hooks support for unorchestrated environments](#support-podman-and-oci-hooks-support-for-unorchestrated-environments)
* [Non K8s KubeArmor Enhancements](#non-k8s-kubearmor-enhancements)
* [Kyverno](#kyverno)
* [Kyverno CLI for the Mutate Existing Rule](#kyverno-cli-for-the-mutate-existing-rule)
* [Policy Exceptions 3.0](#policy-exceptions-30)
* [Prometheus](#prometheus)
* [Enhance Prometheus Benchmark Suite](#enhance-prometheus-benchmark-suite)
* [Prometheus Remote-Write v2 support in otel-collector's `prometheusremotewriteexporter`.](#prometheus-remote-write-v2-support-in-otel-collectors-prometheusremotewriteexporter)
* [Vitess](#vitess)
* [Add new getting started examples](#add-new-getting-started-examples)
* [WasmEdge](#wasmedge)
* [WASM Serializer with new proposals](#wasm-serializer-with-new-proposals)
* [Fix bugs found by fuzzer](#fix-bugs-found-by-fuzzer)
* [Create an LLM app with deep understanding of a GitHub repo](#create-an-llm-app-with-deep-understanding-of-a-github-repo)
* [Create a Wasm-based LLM app for financial analysts](#create-a-wasm-based-llm-app-for-financial-analysts)
<!-- TOC -->

### Antrea

#### Support application-level DNS caches when using FQDN-based security rules
Expand Down
176 changes: 176 additions & 0 deletions programs/lfx-mentorship/2024/03-Sep-Nov/project_ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,170 @@

## Proposed Project ideas

### Karmada

#### Collect and visualize Karmada metrics

- Description: Karmada dashboard now supports one-time metric retrieval, but it is difficult to observe the status of multi-clusters with one-time metric retrieval. Therefore, we would like to implement a lightweight metric collection capability to collect Karmada metrics and visualize them on the Karmada dashboard. This will allow cluster administrators to quickly get the status of the clusters and solve problems within the clusters.
- Expected Outcome:
- Metric Collection and Storage Design Document
- Query Analysis Interface & Front-end Visualization
- Recommended Skills:
- Kubernetes
- Go
- gin
- react
- sqlite
- Mentor(s):
- Wenjiang Ding (@warjiang, [email protected])
- Zhen Chang (@XiShanYongYe-Chang, [email protected])
- Upstream Issue: https://github.com/karmada-io/dashboard/issues/62
- LFX URL:

#### Enhance Karmada controller-manager and schedule testing coverage

- Description: Karmada would like to improve the UT coverage of the code to better maintain the quality of the code and reduce the introduction of defects. Increase the UT coverage rate to 50% to 60% (currently, the UT coverage rate is [28.26%](https://app.codecov.io/gh/karmada-io/karmada) ). The entire Karmada repository is a bit large for one project, so we will split it into two projects. The current parts mainly target the `karmada-controller-manager` and `karmada-scheduler` components.
- Expected Outcome:
- Increase the UT (Unit Test) coverage by more than 25% and add more than 4000 lines of code coverage in the following directories.
```
pkg/controllers
pkg/dependenciesdistributor
pkg/descheduler
pkg/detector
pkg/estimator
pkg/scheduler
pkg/resourceinterpreter
pkg/util
```
- Recommended Skills:
- Go
- Cloud Native
- Mentor(s):
- Zhen Chang (@XiShanYongYe-Chang, [email protected])
- Zhuang Zhang (@zhzhuang-zju, [email protected])
- Upstream Issue: https://github.com/karmada-io/karmada/issues/5235
- LFX URL:

#### Enhance the test coverage for the Karmada search, operator, and webhook components

- Description: Karmada would like to improve the UT coverage of the code to better maintain the quality of the code and reduce the introduction of defects. Increase the UT coverage rate to 50% to 60% (currently, the UT coverage rate is [28.26%](https://app.codecov.io/gh/karmada-io/karmada) ). The entire Karmada repository is a bit large for one project, so we will split it into two projects. The current focus is mainly on `karmada-search`, `karmada-operator`, `karmada-webhook` components.
- Expected Outcome:
- Increase the UT (Unit Test) coverage by more than 25% and add more than 5500 lines of code coverage except for the following directories.
```
pkg/controllers
pkg/dependenciesdistributor
pkg/descheduler
pkg/detector
pkg/estimator
pkg/scheduler
pkg/resourceinterpreter
pkg/util
```
- Recommended Skills:
- Go
- Cloud Native
- Mentor(s):
- Zhen Chang (@XiShanYongYe-Chang, [email protected])
- Chaosi Pan (@chaosi-zju, [email protected])
- Upstream Issue: https://github.com/karmada-io/karmada/issues/5236
- LFX URL:

### KubeEdge

#### Decouple the node cooperation ability and batch management ability of the edgeapplication

- Description: EdgeApplication can be overrides deployment spec(i.e. replicas, image, commands and environments) via the node group, and pod traffics are closed-loop in a node group(Deployments managed by EdgeApplication share a Service). But in the real scenario, the scope of nodes that need batch operations is different from that of nodes that need to collaborate with each other. Therefore, we need to have a solution to decouple the node cooperation ability and batch management ability of the edgeapplication.

- Expected Outcome:
- Proposal of this issue's solution.
- Achieve that edgeapplication can be overridden via the node group or node label selector.
- Fix the issue of closed-loop flow control.

- Recommended Skills: Kubernetes, KubeEdge, Golang

- Mentor(s):
- Willard (@WillardHu, [email protected])
- Elias Wang (@wbc6080, [email protected])

- Upstream Issue: https://github.com/kubeedge/kubeedge/issues/5755
- LFX URL:

#### Elastic Inference for Deep Learning Models Using KubeEdge

- Description: The rapid advancement of AI has led to the widespread application of deep learning models across various fields. However, the resource demands for model inference tasks can fluctuate significantly, especially during peak periods, posing a challenge to the system's computing capabilities. To address this varying load demand, we propose an elastic inference solution leveraging KubeEdge and Horizontal Pod Autoscaling (HPA) to enable dynamic scaling of inference tasks. By utilizing KubeEdge, we can distribute inference tasks across different edge devices and cloud resources, achieving efficient resource utilization and task processing.

- Expected Outcome:
- Based on kubeedge to complete an elastic scaling AI inference example
- Based on kubeedge and sedna to complete the joint inference task elastic scaling development and output example
- Output blog

- Recommended Skills:
- KubeEdge and its subproject Sedna frameworks.
- Experience in deploying and managing Kubernetes, including configuring and tuning the HPA mechanism.
- Expertise in developing and tuning deep learning models.
- Programming experience, particularly in Python and Go.

- Mentor(s):
- ming tang (@tangming1996, [email protected])
- Shelley Bao (@Shelley-BaoYue, [email protected])

- Upstream Issue: https://github.com/kubeedge/kubeedge/issues/5753
- LFX URL:

#### Multimodal Large Model Joint Learning Algorithm: Reproduction Based on KubeEdge-Ianvs

- Description: KubeEdge-Ianvs currently focuses on edge-cloud collaborative learning (training and inference) for a single modality of data. However, edge devices, such as those in autonomous vehicles, often capture multimodal data, including GPS, LIDAR, and Camera data. Single-modal learning can no longer meet the precise inference requirements of edge devices. Therefore, this project aims to integrate mainstream multimodal large model joint learning algorithms into KubeEdge-Ianvs edge-cloud collaborative learning, providing multimodal learning capabilities.

- Expected Outcome: A benchmark suite for multimodal large language models deployed at the edge using KubeEdge-Ianvs
- Modify and adapt the existing edge-cloud data collection interface to meet the requirements of multimodal data collection
- Implement a Multimodal Large Language Model (MLLM) benchmark suite based on Ianvs
- Reproduce mainstream multimodal joint learning (training and inference) algorithms and integrate them into Ianvs single-task learning
- (Advanced) Test the effectiveness of multimodal joint learning in at least one of Ianvs' advanced paradigms (lifelong learning, incremental learning, federated learning, etc.).

- Recommended Skills: TensorFlow/Pytorch, LLMs, KubeEdge-Ianvs

- Mentor(s):
- Chuang Hu (@CreativityH, [email protected])
- Zimu Zheng (@MooreZheng, [email protected])

- Upstream Issue: https://github.com/kubeedge/ianvs/issues/123
- LFX URL:

#### Cloud-edge collaborative speculative decoding for LLM based on KubeEdge-Ianvs

- Description: The autoregressive decoding mode of LLM determines that LLM can only be decoded serially, which limits its inference speed. Speculative decoding technique can be used to decode LLM in parallel with the help of draft model, so as to improve the inference speed of LLM without loss of accuracy. However, the speculative decoding technology of LLM does not consider the application in the cloud-edge distributed environment. This project aims to implement cloud-edge collaborative speculative decoding based on KubeEdge-Ianvs, an open source cloud-edge collaborative distributed machine learning platform, so as to further improve the LLM inference speed in cloud-edge environment.

- Expected Outcome:
- Implement an example of cloud-edge collaborative speculative decoding based on KubeEdge-Ianvs platform.
- (Optional) Propose a more efficient cloud-edge collaborative speculative decoding algorithm.

- Recommended Skills: KubeEdge-Ianvs, LLM, Pytorch, Python

- Mentor(s):
- Shijing Hu (@hsj576, [email protected])
- Zimu Zheng (@MooreZheng, [email protected])

- Upstream Issue: https://github.com/kubeedge/ianvs/issues/126
- LFX URL:

#### Integrate KubeEdge, Sedna, and Volcano for High-Performance Training Task Scheduling

- Description: KubeEdge and Sedna have already enabled edge-cloud collaborative training and collaborative inference capabilities. We aim to explore and foster collaborations with more communities to provide enhanced AI capabilities. By integrating Volcano, we aim to achieve high-performance scheduling within the cloud-edge collaborative framework, thereby pushing the boundaries of what can be achieved in distributed AI and edge computing.

- Expected Outcome:
- Successfully deploy a training task using KubeEdge and Sedna, and provide an example in the
- Integrate Volcano within Sedna's architecture to achieve high-performance scheduling of training tasks
- (Optional) Successfully deploy Kubeflow within the KubeEdge architecture and complete the deployment of an training task, with a blog post documenting the process.

- Recommended Skill: KubeEdge, KubeEdge-Sedna, Volcano

- Mentor(s):
- Shelley Bao (@Shelley-BaoYue, [email protected])
- Fisher Xu (@fisherxu, [email protected])

- Upstream Issue: https://github.com/kubeedge/kubeedge/issues/5762
- LFX URL:

### Kyverno

#### Cleanup policy - Add deletion propagation support
Expand All @@ -45,4 +209,16 @@
- Charles-Edouard Brétéché (@eddycharly, [email protected])
- Vishal Choudhary (@vishal-chdhry, [email protected])
- Upstream Issue: https://github.com/kyverno/kyverno/issues/10756

### Thanos

#### Add support for hedged requests

- Description: The long-tail requests sometimes are inevitable between the Thanos Store Gateway and an external cache. Lowering the timeouts between the store-gateway and the cache service isn't a greater way to address this problem. Using a HTTP client to issue hedged requests to object storage and other parts of Thanos' stack could help reduce tail latency by a lot.
- Expected Outcome: By the end of the term, the mentee will have a deeper knowledge of Thanos and have improved our HTTP request tail latencies considerably!
- Recommended Skills: Go, HTTP, Prometheus, Thanos
- Mentor(s):
- Giedrius Statkevičius (@GiedriusS, [email protected])
- Saswata Mukherjee (@saswatamcode, [email protected])
- Upstream Issue: https://github.com/thanos-io/thanos/issues/6712
- LFX URL:

0 comments on commit e3d4ae5

Please sign in to comment.