-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature gates reference documentation #6364
Conversation
Deploy preview for kubernetes-io-master-staging ready! Built with commit 4db0bcb https://deploy-preview-6364--kubernetes-io-master-staging.netlify.com |
a5f4229
to
b55bf13
Compare
57cfe49
to
90e4691
Compare
@tengqm This is great, but how do we keep this up-to-date for every release? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple minor issues.
docs/reference/feature-gates.md
Outdated
| `TaintNodesByCondition` | `false` | Alpha | Y | Y | | Y | | | 1.8 | | | ||
| `VolumeScheduling` | `false` | Alpha | Y | | | | | | 1.9 | | | ||
|
||
## Using Feature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would title this "Using a feature".
docs/reference/feature-gates.md
Outdated
- The "Y" values in the cells indicate that a specific feature gate can be applied | ||
to a specific component. | ||
|
||
| Feature | Default | Stage | APIServer | KCM | Kubelet | Scheduler | CCM | Proxy | Since | Till | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm seeing an issue w/ the CSS where it's clipping off the right end of the table (see below screenshot). Consider moving the Since and Till columns to the left, after Stage, because I think it's more important for them to be seen. Also, consider renaming "Till" to "Until" so that it is more clear, especially to non-native English speakers.
@chenopis My understanding of this ... is about open source. When a doc/software is useful, it will be maintained by the community, otherwise it will be outdated anyway and someone will propose to remove it. |
@tengqm Ok, I just want to make sure we don't have inaccurate information on the website. We may need to add this to the docs release process to make sure it has been checked and updated. |
@steveperry-53 You have any thoughts on this? |
@chenopis If we add a note about this to our release process, then I think it's fine to publish this. |
@vishh @Random-Liu @tallclair Can one of you do a tech review, or suggest another person who would be the appropriate reviewer? Thanks. |
@chenopis If we have a doc release process to ensure inaccurate contents are cleaned up, that would be great. |
Instead of setting the flag per component, can we just say to enable the feature gate on all components? It is much simpler to remember and maintain |
@msau42 Well I'm seeing benefits from both ends. Turning on/off a feature-gate across all components could be a preferred option during initial set up; for most administrators, this saves a lot headache on remembering the exact mapping between features and components. However, starting from day 2, there will be needs to tune your cluster for behaviors. People will prefer knowing exactly which components need a change to turn something on, instead of changing the command lines and rolling out to all nodes. For example, if the feature to toggle only concerns with the scheduler, you will want to just tune that component instead of restarting all kubelets. |
It looks like we still need tech review/approval. @nikhita Can you approve this? |
@steveperry-53 Thanks for including this into the playbook |
I'm skeptical this table will ever be up to date. It's fine to have the list of feature gates and associated descriptions (tag feature gate owners as identified in https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go#L28 for summaries in this doc) I also think it is misadvised to try to document the matrix of which components make use of which gates. The cluster should have a consistent view of which features are enabled, so I'd expect cluster administrators to decide what features they want, and pass the same --feature-gates value to all components. |
@liggitt Regarding how to keep this up to date, Steve has added this to the release playbook so team will check if the table is up to date before doing new releases. |
That can catch if a new feature gate was added, but if there's no automated process for sweeping the whole code base for every use of every feature gate, and tracking the call trees for those to determine which components are affected by it, the table that indicates which components use which gates will be inaccurate. |
To be clear, I'm in favor of the list of gates and associated descriptions, just not maintaining the matrix of all gates and all components |
@liggitt Based on the efforts made to compile the table, I have to admit that keeping the maps to components would be difficult, if possible at all. The initial table cost my several days. Given that there is no easy way to automatically produce such a matrix, I'm removing the component columns in the PR. Hopefully, someday we can have a better solution. |
the amount of information lgtm. I didn't review for accuracy. |
@zacharysarah yes. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tengqm, zacharysarah The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
…henopis-user-journeys * 'master' of https://github.com/kubernetes/website: (102 commits) Change deployment group (#7112) fix typos in extending doc (#7110) added installation via Powershell Gallery (#6086) Update StatefulSet API version to 1.9 for the Cassandra example (#7096) Modify the terms by document style (#7026) now that phase out in k8s/cluster/ directory, so remove relative docs (#6951) Update mysql-wordpress-persistent-volume.md (#7080) Update high-availability.md (#7086) Feature gates reference documentation (#6364) Add link to autoscaler FAQ (#7045) Replace regular characters with HTML entities. (#7038) Remove unnecessary manual node object creation (#6765) upper case restriction doesn't exist (#7003) Add an API concepts document and describe terminology and API chunking (#6540) Add kube-apiserver, kube-controller-manager, kube-scheduler and etcd to glossary. (#6600) Update what-is-kubernetes.md (#6971) Fixed the interacting with cluster section for the ubuntu installation (#6905) Update weave-network-policy.md (#6960) Added AWS eks (#6568) Update eviction strategy to include priority (#6949) ... # Conflicts: # _data/setup.yml # _data/tutorials.yml # docs/imported/release/notes.md
* Feature gates references * Add three new gates since v1.9 * Table revised based on comments * Fix feature gates doc based on review comments
This adds a reference document for feature-gates.
This change is