[kubernetes/kubernetes] [Storage] Add support for capacity isolation of shared partitions (#43607)

5 views
Skip to first unread message

Vish Kannan

unread,
Mar 24, 2017, 1:03:06 AM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Based on kubernetes/community#306

This issue is meant to track work items and help collaboration between the community on adding support for capacity isolation of shared partitions.

Note: Priority of these features can change based on the number of collaborators.

v1.7

Note: @jingxu97 has already been making progress on some of the items for v1.7.

  • Extend EmptyDir API Spec to include Size (Owner: )
  • Define new resources in the API to surface node storage capacity (Owner: )
  • Define new resources in the API to consume local storage (Owner: )
  • Gate local storage as a resource with an alpha feature gate
  • Kubelet expose local storage capacity for the primary partitions (Owner: )
  • Kubelet supports & enforces storage reservation in Node Allocatable (Owner: )
  • Kubelet enforces local storage limits by running a control loop that evicts pods that exceed their storage limits (Owner: )
  • Kubelet specifies container logs and overlay limits via CRI to let runtimes apply limits (Owner: )
  • Add a scheduler predicate that ensures that local storage is available while binding pods to nodes (Owner: )
  • Add node e2es to ensure storage limit enforcement (Owner: )

v1.8

  • Add cluster e2es to verify scheduler local storage support (Owner: )
  • Require storage limits for all pods (or for Gu and Bu pods). Decision TBD (Owner: )
  • Introduce global limit ranges (Owner: )
  • Add local storage to downwards API (Owner: )
  • Extend Quota and Limitranges to support storage (Owner: )
  • Extend Metrics API to include storage and expose storage usage via kubectl top (Owner: )
  • Support for rotating logs whenever containers' reach their logs storage limits (Owner: )

v1.9

  • Add default I/O rate limits for logs from containers (Owner: )
  • Minimize disk metrics update latency by introducing support for project quota (Owner: )
  • Extend Node Problem Detector to expose shared partition failures (Owner: )

cc @jingxu97 @kubernetes/sig-node-feature-requests @kubernetes/sig-storage-feature-requests


You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Vish Kannan

unread,
Mar 24, 2017, 1:09:15 AM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@derekwaynecarr kindly vet this plan and add any missing items.

David Oppenheimer

unread,
Mar 24, 2017, 1:29:16 AM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Klaus Ma

unread,
Mar 24, 2017, 2:18:26 AM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

I'd like to contribute "scheduler predicate" if not owner now :).

Timothy St. Clair

unread,
Mar 24, 2017, 12:36:56 PM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

This is pretty impactful, we should enqueue this for the next SIG meeting.

Vish Kannan

unread,
Mar 24, 2017, 2:57:10 PM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@k82cn some of the work items have already been been prototyped including the predicates you mention. Give us a couple of days to update owners on the list of work items.

David Oppenheimer

unread,
Mar 24, 2017, 5:31:48 PM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@timothysc I wonder if in-person discussions about this should be channeled to the "resource management working group" ... I'm a little worried about spreading discussion between node and scheduling.

Vish Kannan

unread,
Mar 24, 2017, 5:42:31 PM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@davidopp +1 on having discussions in the resource management working group.

Klaus Ma

unread,
Mar 24, 2017, 10:07:43 PM3/24/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@k82cn some of the work items have already been been prototyped including the predicates you mention. Give us a couple of days to update owners on the list of work items.

@vishh, thanks for your feedback, that's great :).

Haoran Wang

unread,
Mar 25, 2017, 9:43:28 AM3/25/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

A naive question what's "resource management working group" ?

David Oppenheimer

unread,
Mar 25, 2017, 1:09:31 PM3/25/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

A naive question what's "resource management working group" ?

We've mentioned it on the scheduling SIG mailing list. Please join the scheduling SIG mailing list
https://groups.google.com/forum/#!forum/kubernetes-sig-scheduling

The resource management working group was mentioned here
https://groups.google.com/d/msg/kubernetes-sig-scheduling/a-nvvjjP70M/ZeiC1BfHFAAJ

Haoran Wang

unread,
Mar 26, 2017, 5:12:10 AM3/26/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@davidopp Thanks, I am happy to take some task if needed.

Timothy St. Clair

unread,
Mar 30, 2017, 9:20:34 AM3/30/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@davidopp I'm ok with that, but we should PSA broadcast in the SIGs about topics like this to ensure interested parties are "in the loop".

Timothy St. Clair

unread,
Mar 30, 2017, 9:20:53 AM3/30/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/cc @kensimon

Vish Kannan

unread,
Mar 30, 2017, 2:30:29 PM3/30/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Mik Vyatskov

unread,
Mar 31, 2017, 8:19:35 AM3/31/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@vishh

Kubelet specifies container logs and overlay limits via CRI to let runtimes apply limits (Owner: @jingxu97)

What do you mean by that? I don't see anything about CRI and runtime applying limits in kubernetes/community#306 How does it interact with log rotation?

Vish Kannan

unread,
Mar 31, 2017, 3:10:29 PM3/31/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@crassirostris It will be an extension to the existing CRI API. kubernetes/community#306 is a high level user facing proposal. A detailed design doc will be published by @jingxu97 at-least for the v1.7 work items.

A short summary around logging is as follows:
To prevent I/O abuse, kubelet through the CRI needs to have runtimes rate-limit logging from container's stdout and stderr. This is not possible with all runtimes, and so it will be an optional features which some runtimes will support, for example containerd.
Kubelet needs to keep long running services available for weeks or months and not evict them because they used up all their log space. For this reason, kubelet will have to rotate logs on demand to keep the overall log usage within user specified limits.
Now the kubelet needs to interact with logging agents to prevent premature log rotation. This is an API I'm hoping you'd drive. Generate requirements around rotation and we can discuss having the kubelet meet those requirements.
Does this makes sense?
May be this topic requires a dedicated meeting?

Yu-Ju Hong

unread,
Mar 31, 2017, 3:52:48 PM3/31/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

To prevent I/O abuse, kubelet through the CRI needs to have runtimes rate-limit logging from container's stdout and stderr. This is not possible with all runtimes, and so it will be an optional features which some runtimes will support, for example containerd.

@vishh is there an issue for this? We need to define what "rate limit" actually means. For example, journald just dropped log messages, and it could be frustrating to debug without relevant information.

Vish Kannan

unread,
Mar 31, 2017, 4:01:32 PM3/31/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

@yujuhong None exists as of now. We do not plan on tackling logging until v1.8.
If it's urgent we can at-least spec out an API in v1.7 time frame.
I'm thinking of not dropping but instead just blocking. For example in the case of containerd, if a container is limited to 100 write IOPS, then the containerd logger can stall writes if that limit has been exceeded. This will result in application stalling which will hopefully be caught by application level metrics (using a latency metric around glog for example).

Klaus Ma

unread,
Jun 5, 2017, 7:00:45 PM6/5/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

It seems all work items for 1.7 are done, should we move this to 1.8 milestone?

Kubernetes Submit Queue

unread,
Sep 1, 2017, 2:12:46 PM9/1/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 6 days, the issue will be moved out of the v1.8 milestone.

kind: Must specify at most one of ['kind/bug', 'kind/feature', 'kind/cleanup'].
priority: Must specify at most one of ['priority/critical-urgent', 'priority/important-soon', 'priority/important-longterm'].

Additional instructions available here

Jing Xu

unread,
Sep 1, 2017, 2:22:43 PM9/1/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

'kind/feature'
'priority/important-soon'

Kubernetes Submit Queue

unread,
Sep 1, 2017, 7:07:23 PM9/1/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 6 days, the issue will be moved out of the v1.8 milestone.

kind: Must specify at most one of ['kind/bug', 'kind/feature', 'kind/cleanup'].
priority: Must specify at most one of ['priority/critical-urgent', 'priority/important-soon', 'priority/important-longterm'].

Additional instructions available here

Kubernetes Submit Queue

unread,
Sep 3, 2017, 4:05:48 AM9/3/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 5 days, the issue will be moved out of the v1.8 milestone.

kind: Must specify at most one of ['kind/bug', 'kind/feature', 'kind/cleanup'].
priority: Must specify at most one of ['priority/critical-urgent', 'priority/important-soon', 'priority/important-longterm'].

Additional instructions available here

NickrenREN

unread,
Sep 3, 2017, 8:41:31 AM9/3/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/kind feature
/priority important-soon

Kubernetes Submit Queue

unread,
Sep 3, 2017, 8:42:19 AM9/3/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Complete

@jingxu97 @vishh

Issue label settings:

  • sig/node sig/scheduling sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-soon: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts.
  • kind/feature: New functionality.
Additional instructions available here

Kubernetes Submit Queue

unread,
Sep 7, 2017, 2:06:34 PM9/7/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Complete

@jingxu97 @vishh

Issue label settings:

  • sig/node sig/scheduling sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-soon: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts.
  • kind/feature: New functionality.
Additional instructions available here The commands available for adding these labels are documented here

Dawn Chen

unread,
Sep 18, 2017, 1:06:14 PM9/18/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

I retarget this to v1.9 since all work items for 1.8 are done.

Kubernetes Submit Queue

unread,
Oct 5, 2017, 6:19:49 PM10/5/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Issue Needs Approval

@jingxu97 @vishh @kubernetes/sig-node-bugs @kubernetes/sig-scheduling-bugs @kubernetes/sig-storage-bugs

Action required: This issue must have the status/approved-for-milestone label applied by a SIG maintainer. If the label is not applied within 6 days, the issue will be moved out of the v1.9 milestone.

Issue Labels
  • sig/node sig/scheduling sig/storage: Issue will be escalated to these SIGs if needed.
  • priority/important-soon: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts.
  • kind/feature: New functionality.
Help

Kubernetes Submit Queue

unread,
Oct 7, 2017, 4:03:39 AM10/7/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Action required: This issue must have the status/approved-for-milestone label applied by a SIG maintainer. If the label is not applied within 5 days, the issue will be moved out of the v1.9 milestone.

Kubernetes Submit Queue

unread,
Oct 8, 2017, 4:02:58 AM10/8/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 2 days, the issue will be moved out of the v1.9 milestone.

kind: Must specify exactly one of kind/bug, kind/cleanup or kind/feature.

Kubernetes Submit Queue

unread,
Oct 9, 2017, 4:04:29 AM10/9/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 1 day, the issue will be moved out of the v1.9 milestone.

Kubernetes Submit Queue

unread,
Oct 10, 2017, 4:03:59 AM10/10/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Labels Incomplete

@jingxu97 @vishh

Action required: This issue requires label changes. If the required changes are not made within 0 days, the issue will be moved out of the v1.9 milestone.

Kubernetes Submit Queue

unread,
Oct 11, 2017, 4:03:59 AM10/11/17
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

[MILESTONENOTIFIER] Milestone Removed

@jingxu97 @vishh

Important: This issue was missing labels required for the v1.9 milestone for more than 3 days:

fejta-bot

unread,
Jan 9, 2018, 3:41:28 AM1/9/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

Maxim Ivanov

unread,
Jan 10, 2018, 10:31:56 AM1/10/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/lifecycle frozen

Jing Xu

unread,
Jan 10, 2018, 6:05:55 PM1/10/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/remove-lifecycle stale

fejta-bot

unread,
Apr 11, 2018, 12:33:17 AM4/11/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

Maxim Ivanov

unread,
Apr 11, 2018, 4:39:34 AM4/11/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/remove-lifecycle stale

fejta-bot

unread,
Jul 10, 2018, 4:55:27 AM7/10/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.

/lifecycle stale

Maxim Ivanov

unread,
Jul 10, 2018, 6:51:16 AM7/10/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/remove-lifecycle stale

Maxim Ivanov

unread,
Jul 10, 2018, 6:51:35 AM7/10/18
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/lifecycle frozen

Elana Hashman

unread,
Jun 25, 2021, 3:32:56 PM6/25/21
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/remove-kind bug

@jingxu97 where are we with this?


You are receiving this because you are on a team that was mentioned.

Reply to this email directly, view it on GitHub, or unsubscribe.

David Porter

unread,
Jun 6, 2022, 2:27:42 PM6/6/22
to kubernetes/kubernetes, k8s-mirror-storage-feature-requests, Team mention

/cc


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are on a team that was mentioned.Message ID: <kubernetes/kubernetes/issues/43607/1147752584@github.com>

Reply all
Reply to author
Forward
0 new messages