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

Communicate replica set and deployment status via conditions #120

Closed
22 tasks
smarterclayton opened this issue Oct 8, 2016 · 4 comments
Closed
22 tasks
Assignees
Labels
sig/apps Categorizes an issue or PR as relevant to SIG Apps.

Comments

@smarterclayton
Copy link
Contributor

smarterclayton commented Oct 8, 2016

Description

Deployments and replica sets are the key components of the system for ensuring pods are being created and maintained, but it is currently difficult to summarize / roll-up the status of the RS/D during operation. In addition, certain cluster policies like quota, limit range, or pod security policy can prevent pod creation, but the failures are only shown through events. This change will expose more information directly in RS / D status about recent failures on the RS/D, giving clients summarized info that problems are occurring.

Progress Tracker

  • Alpha
    • Write and maintain draft quality doc
      • During development keep a doc up-to-date about the desired experience of the feature and how someone can try the feature in its current state. Think of it as the README of your new feature and a skeleton for the docs to be written before the Kubernetes release. Paste link to Google Doc: DOC-LINK
    • Design Approval
      • Design Proposal. Replica set conditions API kubernetes#33905
      • Initial API review (if API). Maybe same PR as design doc. PR-NUMBER
        • Any code that changes an API (/pkg/apis/...)
        • cc @kubernetes/api
      • Identify shepherd (your SIG lead and/or kubernetes-pm@googlegroups.com will be able to help you). My Shepherd is: @smarterclayton
        • A shepherd is an individual who will help acquaint you with the process of getting your feature into the repo, identify reviewers and provide feedback on the feature. They are not (necessarily) the code reviewer of the feature, or tech lead for the area.
        • The shepherd is not responsible for showing up to Kubernetes-PM meetings and/or communicating if the feature is on-track to make the release goals. That is still your responsibility.
      • Identify secondary/backup contact point. My Secondary Contact Point is: replace.me@replaceme.com (and/or GH Handle)
    • Write (code + tests + docs) then get them merged. ALL-PR-NUMBERS
      • Code needs to be disabled by default. Verified by code OWNERS
      • Minimal testing
      • Minimal docs
        • 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
  • 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
  • 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

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.
@smarterclayton smarterclayton added the sig/apps Categorizes an issue or PR as relevant to SIG Apps. label Oct 8, 2016
@lukaszo
Copy link

lukaszo commented Oct 11, 2016

Can we also include DaemonSets here? I can help with implementation.

@0xmichalis
Copy link

Can we also include DaemonSets here? I can help with implementation.

I would prefer to keep the work for other controllers separate from RS/D.

@idvoretskyi
Copy link
Member

@smarterclayton can you confirm that this feature has been fully implemented and the issue can be closed?

@idvoretskyi idvoretskyi modified the milestones: next-milestone, v1.5 Dec 13, 2016
@0xmichalis 0xmichalis self-assigned this Dec 15, 2016
@0xmichalis
Copy link

@idvoretskyi yes, this issue should be good to go. Any follow-up work should happen in #122 which has some overlap with this one.

ingvagabund pushed a commit to ingvagabund/enhancements that referenced this issue Apr 2, 2020
…ivate

Create Installer enhancement for GCP private/internal clusters.
wking added a commit to wking/kubernetes that referenced this issue May 2, 2022
So administrators have some idea at how to debug, when they notice that
status.numberMisscheduled > 0, e.g. because KubeDaemonSetMisScheduled
is firing.

Ideally we'd have status.conditions on DaemonSet [1], so we could
declare things like this in a more discoverable location.  But while
logs aren't all that discoverable, they are easier to add than a new
DaemonSet property.  And we can mitigate discoverability by filling
out [2] and linking [3] a runbook to recommend grepping the controller
logs for this message.

[1]: kubernetes/enhancements#120 (comment)
[2]: https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/5c2dd2c63c8d655bdb7717f695d02bd22bd180e8/runbook.md#alert-name-kubedaemonsetmisscheduled
[3]: https://github.com/kubernetes-monitoring/kubernetes-mixin/blob/5c2dd2c63c8d655bdb7717f695d02bd22bd180e8/alerts/apps_alerts.libsonnet#L224-L237
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/apps Categorizes an issue or PR as relevant to SIG Apps.
Projects
None yet
Development

No branches or pull requests

4 participants