karmada-io / karmada

Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration
https://karmada.io
Apache License 2.0
4.37k stars 865 forks source link

[Summer OSPP 2024] Enhance karmadactl operation and maintenance experience #5248

Open zhzhuang-zju opened 1 month ago

zhzhuang-zju commented 1 month ago

What would you like to be added: Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run cloud-native applications in multiple Kubernetes clusters and cloud platforms without changing the application. By using Kubernetes native APIs and providing advanced scheduling capabilities, Karmada implements truly open, multi-cloud Kubernetes.

Karmadactl is the command-line interface (CLI) tool dedicated to the Karmada project, designed for users and administrators to interact with Karmada. Unlike kubectl, which is more general and supports single-cluster scenarios, karmadactl is a specialized CLI tool tailored for multi-cluster management within the Karmada ecosystem.

Currently, karmadactl has implemented some commands such as get and describe for multi-cluster scenarios, but there are still gaps and areas for improvement. Therefore, our plan is to enhance karmadactl by adding missing functionality and optimizing existing commands to provide a better user experience. Specifically, we aim to:

By addressing these areas, we can significantly enhance the functionality and usability of karmadactl, making it a more robust and user-friendly tool for managing resources in the Karmada multi-cluster environment.

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

Parts of https://github.com/karmada-io/karmada/issues/4879

OutPuts

  1. Complete Implementation of Key Commands Objective: Finalize the implementation of label, annotate, create, delete, edit, and patch commands for karmadactl. The set of commands to be implemented may be adjusted based on community needs.
  2. Optimize Input and Output for Existing Commands Objective: Improve the input and output of get, describe commands. The commands to be optimized may be adjusted according to community feedback.
  3. Documentation Improvement Objective: Produce and update documentation for the enhanced commands and publish it to the Karmada website repository: https://github.com/karmada-io/website.
zhzhuang-zju commented 1 month ago

assign @hulizhe

hulizhe commented 1 month ago

/assign