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

Enhance the Container Runtime Interface #290

Closed
yujuhong opened this issue May 1, 2017 · 5 comments
Closed

Enhance the Container Runtime Interface #290

yujuhong opened this issue May 1, 2017 · 5 comments
Assignees
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. sig/node Categorizes an issue or PR as relevant to SIG Node. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status
Milestone

Comments

@yujuhong
Copy link
Contributor

yujuhong commented May 1, 2017

Feature Name

  • One-line feature description (can be used as a release note): Enhance the Container Runtime Interface (e.g., add container and image filesystem metrics/stats, improve debuggability, etc.)
  • Primary contact (assignee): @yujuhong
  • Responsible SIGs: Node
  • Design proposal link (community repo):
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @dchen1107 @Random-Liu
  • Approver (likely from SIG/area to which feature belongs): @dchen1107
  • Feature target (which target equals to which milestone): Alpha 1.7
@yujuhong yujuhong added the sig/node Categorizes an issue or PR as relevant to SIG Node. label May 1, 2017
@yujuhong yujuhong added this to the v1.7 milestone May 1, 2017
@idvoretskyi idvoretskyi added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label May 3, 2017
@idvoretskyi
Copy link
Member

@yujuhong please, update the feature description with the design proposal.

@idvoretskyi idvoretskyi added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label May 3, 2017
@idvoretskyi idvoretskyi added this to Action required in Kubernetes 1.7 features May 3, 2017
vdemeester pushed a commit to vdemeester/kubernetes that referenced this issue May 27, 2017
Automatic merge from submit-queue (batch tested with PRs 45809, 46515, 46484, 46516, 45614)

CRI: add methods for container stats

**What this PR does / why we need it**:
Define methods in CRI to get container stats.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
Part of  kubernetes/enhancements#290; addresses kubernetes#27097

**Special notes for your reviewer**:
This PR defines the *minimum required* container metrics for the existing components to function, loosely based on the previous discussion on [core metrics](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/core-metrics-pipeline.md) as well as the existing cadvisor/summary APIs.
 
Two new RPC calls are added to the RuntimeService: `ContainerStats` and `ListContainerStats`. The former retrieves stats for a given container, while the latter gets stats for all containers in one call.
 
The stats gathering time of each subsystem can vary substantially (e.g., cpu vs. disk), so even though the on-demand model preferred due to its simplicity, we’d rather give the container runtime more flexibility to determine the collection frequency for each subsystem*. As a trade-off, each piece of stats for the subsystem must contain a timestamp to let kubelet know how fresh/recent the stats are. In the future, we should also recommend a guideline for how recent the stats should be in order to ensure the reliability (e.g., eviction) and the responsiveness (e.g., autoscaling) of the kubernetes cluster.
 
The next step is to plumb this through kubelet so that kubelet can choose consume container stats from CRI or cadvisor. 
 
**Alternatively, we can add calls to get stats of individual subsystems. However, kubelet does not have the complete knowledge of the runtime environment, so this would only lead to unnecessary complexity in kubelet.*


**Release note**:

```release-note
Augment CRI to support retrieving container stats from the runtime.
```
@calebamiles
Copy link
Contributor

@yujuhong, were there additional improvements planned for the 1.7 release cycle besides kubernetes/kubernetes#45614? If not I'll go ahead and close this issue and we can open a new issue for 1.8. Thanks!

cc, @dchen1107, @idvoretskyi, @kubernetes/sig-node-feature-requests, @kubernetes/kubernetes-release-managers

@idvoretskyi
Copy link
Member

@calebamiles UPD. There is no necessity to close the issue - just move it to the "next-milestone" if it's not planned for 1.8 anymore.

@maxwell92
Copy link

Where is the design proposal ? or I should just check kubernetes/kubernetes#45614 ?

@yujuhong
Copy link
Contributor Author

Where is the design proposal ? or I should just check kubernetes/kubernetes#45614 ?

There is a doc: https://github.com/kubernetes/community/blob/master/contributors/devel/cri-container-stats.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. sig/node Categorizes an issue or PR as relevant to SIG Node. stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status
Projects
No open projects
Development

No branches or pull requests

4 participants