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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add controller reference pages #16885

Closed

Conversation

sftim
Copy link
Contributor

@sftim sftim commented Oct 14, 2019

Relevant to issue #4135. Rework of PR #15374. Preview.

Add a reference section that lists the built-in controllers and explains what each of them does.

This change fits in with an idea I have to restructure https://kubernetes.io/docs/concepts/workloads/

People developing things to deploy on Kubernetes need to understand that there is (eg) a Deployment resource; it doesn't matter as much how the Deployment resource gets translated into API actions like creating or removing ReplicaSet objects. Some resources happen to involve more than one controller (eg Job with the Job controller and the TTL-after-finished controller).

If you are interested in looking behind the scenes, I think it helps to have all kube-controller-manager controllers listed in one place, no matter what kind of resource they interact with (Endpoint? ReplicaSet? Namespace?)

/sig apps

Credit to @lavalamp for the excellent Kubecon talk that helped me a lot with drafting these documents.

@k8s-ci-robot k8s-ci-robot added sig/apps Categorizes an issue or PR as relevant to SIG Apps. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. labels Oct 14, 2019
@sftim sftim changed the title 20190711 add controller reference pages Add controller reference pages Oct 14, 2019
@netlify
Copy link

netlify bot commented Oct 14, 2019

Deploy preview for kubernetes-io-master-staging ready!

Built with commit 1b006ad

https://deploy-preview-16885--kubernetes-io-master-staging.netlify.com

@zparnold
Copy link
Member

zparnold commented Oct 14, 2019

@kubernetes/sig-apps-pr-reviews
@kubernetes/sig-api-machinery-pr-reviews
Could you folks take a look at the technical aspects of this?

@k8s-ci-robot k8s-ci-robot added the sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. label Oct 14, 2019
@sftim
Copy link
Contributor Author

sftim commented Oct 15, 2019

Thinking about this one, I might change the storage pages to better reflect how the code really works. At the moment this make it sound like you can separate out the volume controllers, and according to pv_controller.go you can't easily do that:

// ==================================================================
// PLEASE DO NOT ATTEMPT TO SIMPLIFY THIS CODE.
// KEEP THE SPACE SHUTTLE FLYING.
// ==================================================================

@sftim
Copy link
Contributor Author

sftim commented Nov 10, 2019

/retitle [WIP] Add controller reference pages

@k8s-ci-robot k8s-ci-robot changed the title Add controller reference pages [WIP] Add controller reference pages Nov 10, 2019
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 10, 2019
Copy link
Contributor

@christophercarney christophercarney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving some general feedback on DaemonSet controller page

content/en/docs/reference/controllers/daemonset.md Outdated Show resolved Hide resolved

{{% capture body %}}

The DaemonSet controller is built in to the {{< glossary_tooltip term_id="kube-controller-manager" >}}.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The DaemonSet controller is built in to the {{< glossary_tooltip term_id="kube-controller-manager" >}}.
The DaemonSet controller is built-in to the {{< glossary_tooltip term_id="kube-controller-manager" >}}.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll see if I can reword to avoid having to pick a side (dash vs. no dash).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How's this?

If a DaemonSet's Pods fail the controller recreates them, applying a rate
limit to avoid a hot loop of killing and then recreating broken Pods.

## How DaemonSet Pods are scheduled
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this section maybe you'll want to take from #17476 restructuring to make sure the default behavior is clear. Or we can tag that issue and move it into here after this PR is merged, depends really how you see this restructure progressing

@sftim sftim force-pushed the 20190711_add_controller_reference_pages branch from c21ae0b to 089e449 Compare December 10, 2019 04:12
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign xiangpengzhao
You can assign the PR to them by writing /assign @xiangpengzhao in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sftim sftim force-pushed the 20190711_add_controller_reference_pages branch from 089e449 to 02b6c65 Compare December 10, 2019 04:49
@sftim
Copy link
Contributor Author

sftim commented Feb 4, 2020

@kbhawkey
Copy link
Contributor

Hello @sftim ,
Just checking if you are actively working on this pull request or if this pull request is
a placeholder for future changes?

@sftim
Copy link
Contributor Author

sftim commented Feb 11, 2020

I'm wondering if this would work better as a series of PRs to a long-lived branch. That way, I can get each PR reviewed individually.

Maybe that'd be a better idea? In which case, I should arrange for that new branch.

@sftim
Copy link
Contributor Author

sftim commented Feb 11, 2020

Alternative: I could do lots of small PRs to add disabled pages, and then enable them once the set of changes are ready.

@kbhawkey
Copy link
Contributor

@sftim, It may be helpful to create an issue outlining your proposed work items and then you can check off the items with individual pull requests (the issue can manage the state of the collective PRs).
Otherwise this pull request becomes too large and I think it scares off reviewers. Also, people may want to collaborate with you.

@sftim
Copy link
Contributor Author

sftim commented Feb 19, 2020

/close

@k8s-ci-robot
Copy link
Contributor

@sftim: Closed this PR.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. language/en Issues or PRs related to English language sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants