kubernetes-csi / external-resizer

Sidecar container that watches Kubernetes PersistentVolumeClaims objects and triggers controller side expansion operation against a CSI endpoint
Apache License 2.0
126 stars 130 forks source link

implement distributed resizing #195

Open travisghansen opened 2 years ago

travisghansen commented 2 years ago

Signed-off-by: Travis Glenn Hansen travisghansen@yahoo.com

What type of PR is this?

/kind feature

What this PR does / why we need it:

Add resizing support to distributed setups to compliement provisioner and snapshotter features of the same nature.

  1. Added a parameter "--node-deployment" as a command line option for resizer sidecar, which should be set to true when the sidecar is being deployed on a per node basis.
  2. For these changes to work, NODE_NAME environment variable must also be set while deploying the sidecar controller.

Which issue(s) this PR fixes:

Fixes #142

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Adds support for distributed resizing.
k8s-ci-robot commented 2 years ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: travisghansen To complete the pull request process, please assign msau42 after the PR has been reviewed. You can assign the PR to them by writing /assign @msau42 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: - **[OWNERS](https://github.com/kubernetes-csi/external-resizer/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
k8s-ci-robot commented 2 years ago

Welcome @travisghansen!

It looks like this is your first PR to kubernetes-csi/external-resizer 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-csi/external-resizer has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. :smiley:

k8s-ci-robot commented 2 years ago

Hi @travisghansen. Thanks for your PR.

I'm waiting for a kubernetes-csi member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
xing-yang commented 2 years ago

/ok-to-test

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 2 years ago

/remove-lifecycle stale

mrpre commented 2 years ago

Any update about this pr? I patched it and it seems the resizer works well.

travisghansen commented 2 years ago

I haven’t had a chance to address the scalability concerns yet unfortunately. It should work fine for small clusters for sure.

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 2 years ago

/remove-lifecycle stale

b8kings0ga commented 2 years ago

wait to use this feature

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 1 year ago

/remove-lifecycle stale

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 1 year ago

/remove-lifecycle stale

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 1 year ago

/remove-lifecycle stale

k8s-ci-robot commented 1 year ago

PR needs rebase.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
k8s-triage-robot commented 9 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 9 months ago

/remove-lifecycle stale

k8s-triage-robot commented 6 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 6 months ago

/remove-lifecycle stale

k8s-triage-robot commented 3 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

travisghansen commented 3 months ago

/remove-lifecycle stale

silenceper commented 2 months ago

@travisghansen Will this PR be merged? I also need this capability.

travisghansen commented 2 months ago

I would like to see it be merged yes. When the PR was originally created there were concerns on the csi team of scalability issues with no real options for addressing them. I have not discussed this in a meeting with the csi team in a very long time but would be happy to discuss again and possibly get it over the hill.

Fundamentally the issue with scalability is about being able to limit the watches on each node to only volumes associated with that node. It's been a while since I looked but at the time this was originally put together there were no mechanisms to do so.

k8s-ci-robot commented 2 months ago

@travisghansen: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubernetes-csi-external-resizer-1-27-on-kubernetes-1-27 b3e94c31a060df88fe676d39c259eaadd3be9486 link true /test pull-kubernetes-csi-external-resizer-1-27-on-kubernetes-1-27
pull-kubernetes-csi-external-resizer-1-30-on-kubernetes-1-30 b3e94c31a060df88fe676d39c259eaadd3be9486 link true /test pull-kubernetes-csi-external-resizer-1-30-on-kubernetes-1-30

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).