Description
Description
Creating a new Kubernetes cluster is too hard. We need to simplify the number and types of actions to get a production cluster up and running.
Note that this is different from bringing up a development cluster (single node ala monokube or minikube) or automation around cluster creation (https://github.com/kubernetes/community/wiki/Roadmap:-Cluster-Deployment).
If we do this right, the number of manual steps to get a cluster running should be minimal. This will have the added benefit of making other deployment scenarios (dev cluster, cluster automation) simpler and smaller.
As part of this, we should make simplifying assumptions and have opinionated defaults. An example would be embedding etcd and picking an easy to use network technology. Certificates and trust should be established automatically.
Progress Tracker
- Before Alpha
- Design Approval
- Design Proposal. This goes under docs/proposals. Doing a proposal as a PR allows line-by-line commenting from community, and creates the basis for later design documentation. Paste link to merged design proposal here: Proposal: Dramatically Simplify Kubernetes Cluster Creation kubernetes#30360
- Initial API review (if API). Maybe same PR as design doc. PR-NUMBER
- Any code that changes an API (
/pkg/apis/...
) - cc @kubernetes/api
- Any code that changes an API (
- Write (code + tests + docs) then get them merged. kubeadm kubernetes#33262
- Code needs to be disabled by default. Verified by code OWNERS
- Minimal testing
- Minimal docs [WIP] kubeadm and add-on docs website#1265
- cc @kubernetes/docs on docs PR
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
- New apis: Glossary Section Item in the docs repo: kubernetes/kubernetes.github.io
- Update release notes
- Design Approval
- Before Beta
- Testing is sufficient for beta
- User docs with tutorials
- Updated walkthrough / tutorial in the docs repo: kubernetes/kubernetes.github.io
- cc @kubernetes/docs on docs PR
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
- Thorough API review
- cc @kubernetes/api
- Before Stable
- docs/proposals/foo.md moved to docs/design/foo.md
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
- Soak, load testing
- detailed user docs and examples
- cc @kubernetes/docs
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
- docs/proposals/foo.md moved to docs/design/foo.md
FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: IN_DEVELOPMENT
More advice:
Design
- Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.
Coding
- Use as many PRs as you need. Write tests in the same or different PRs, as is convenient for you.
- As each PR is merged, add a comment to this issue referencing the PRs. Code goes in the http://github.com/kubernetes/kubernetes repository,
and sometimes http://github.com/kubernetes/contrib, or other repos. - When you are done with the code, apply the "code-complete" label.
- When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
testing. They won't do detailed code review: that already happened when your PRs were reviewed.
When that is done, you can check this box and the reviewer will apply the "code-complete" label.
Docs
- Write user docs and get them merged in.
- User docs go into http://github.com/kubernetes/kubernetes.github.io.
- When the feature has user docs, please add a comment mentioning @kubernetes/docs.
- When you get LGTM, you can check this checkbox, and the reviewer will apply the "docs-complete" label.