Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

KubeKey v2.0.0 #692

Closed
24sama opened this issue Sep 23, 2021 · 0 comments 路 Fixed by #768
Closed

KubeKey v2.0.0 #692

24sama opened this issue Sep 23, 2021 · 0 comments 路 Fixed by #768
Milestone

Comments

@24sama
Copy link
Collaborator

24sama commented Sep 23, 2021

馃帀KubeKey v2.0.0 is happening!馃帀

Thanks everyone for your contributions and ideas to the current version of KubeKey!

But to make KubeKey even better, it's time to make a change.

KubeKey current problems:

  • Offline installation is complicated;
  • Task scheduling has less context;
  • There some great requested features that's hard to land in the current version without breaking changes.

In order to solve these problems, we need to consider bumping a major version.

Currently, KubeKey v2.0.0 development branch is dev-v2.0.0. And task scheduling engine of KubeKey v2.0.0 has been basically refactoring completed. Most of the details are contained in this issue: #598

The design of KubeKey v2.0.0 is mainly based the module pattern. The following are the most important units of KubeKey v2.0.0:

  • Action: The most basic unit. It represents one operation performed on one node;
  • Task: The one that manages Action. It contains fields such as Action, nodes, whether to retry, whether to execute in parallel, etc. In short, it represents executing an Action on the specified nodes as required;
  • Module: A unit that contains one or more related Task. Module is a module with specific and complete functions;
  • Pipeline: It contains Modules combined in a certain order. It is the complete execution process of a KubeKey command. For example, Create Cluster Pipeline, Add Nodes Pipeline and so on.

kubekey_design

This is a huge code refactoring. For users, the use of KubeKey v2.0.0 has not changed much, but due to the modularity of task scheduling, it is easier for developers to expand the functions of KubeKey.

We also hope that more contributors can participate in the development of KubeKey and make KubeKey even better together.:wave:

Please prepend issue titles with [KubeKey v2.0.0] to give us your thoughts and feedback.

Feel free to contribute there!

@24sama 24sama added this to the v2.0.0 milestone Sep 23, 2021
@24sama 24sama pinned this issue Sep 23, 2021
@kubesphere kubesphere locked and limited conversation to collaborators Sep 23, 2021
@24sama 24sama unpinned this issue Sep 29, 2021
@24sama 24sama pinned this issue Sep 29, 2021
@pixiake pixiake linked a pull request Nov 15, 2021 that will close this issue
@24sama 24sama unpinned this issue Mar 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant