Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Change default attach_detach_controller reconciler sync period to 1 minute#41363

Merged
k8s-github-robot merged 1 commit into
kubernetes:masterfrom
jingxu97:Feb/syncVolumePeriod
Feb 14, 2017
Merged

Change default attach_detach_controller reconciler sync period to 1 minute#41363
k8s-github-robot merged 1 commit into
kubernetes:masterfrom
jingxu97:Feb/syncVolumePeriod

Conversation

@jingxu97
Copy link
Copy Markdown
Contributor

@jingxu97 jingxu97 commented Feb 13, 2017

When default reconciler sync period is set to 5 second, we often see
rateLimit issue for a large cluster. This PR is changing the period to 1
minute to mitigate this problem.

Make this period longer means that there might be some period of time
that the cached information in master's attach_detach_controller is out
of date. The node might use this information to mount to the wrong
device. For GCE PD, since device path is uniquely associated with volume
id, so mount operation will just fail because of this outdated
information. For AWS, before kubelet might mount to the wrong volume
because device path could be reused immediately once it is available.
But after PR #38818, device path will only be reused after all device
paths have been explored. That means it is very unlikely that kubelet will
mount to a wrong volume that is using the old device path that had been
assigned to the same node.

Release note:

We change the default attach_detach_controller sync period to 1 minute to reduce the query frequency through cloud provider to check whether volumes are attached or not. 

When default reconciler sync period is set to 5 second, we often see
rateLimit issue for a large cluster. This PR is change the period to 1
minute to mitigate this problem.

Make this period longer means that there might be some period of time
that the cached information in master's attach_detach_controller is out
of date. The node might use this information to mount to the wrong
device. For GCE PD, since device path is uniquely associated with volume
id, so mount operation will just fail because of this outdated
information. For AWS, before kubelet might mount to the wrong volume
because device path could be reused immediately once it is available.
But after PR kubernetes#38818, device path will only be reused after all device
paths have been explored. That means it is very unlikely that kubelet will
mount to a wrong volume that is using the old device path that had been
assigned to the same node.
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Feb 13, 2017
@k8s-github-robot k8s-github-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Feb 13, 2017
@jingxu97 jingxu97 requested a review from saad-ali February 13, 2017 22:58
@k8s-reviewable
Copy link
Copy Markdown

This change is Reviewable

@jingxu97 jingxu97 added the sig/storage Categorizes an issue or PR as relevant to SIG Storage. label Feb 13, 2017
@jingxu97 jingxu97 added this to the v1.5 milestone Feb 13, 2017
@jingxu97
Copy link
Copy Markdown
Contributor Author

/approve

1 similar comment
@gnufied
Copy link
Copy Markdown
Member

gnufied commented Feb 13, 2017

/approve

@saad-ali
Copy link
Copy Markdown
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 13, 2017
@saad-ali
Copy link
Copy Markdown
Member

/approve

ClusterSigningCertFile: "/etc/kubernetes/ca/ca.pem",
ClusterSigningKeyFile: "/etc/kubernetes/ca/ca.key",
ReconcilerSyncLoopPeriod: metav1.Duration{Duration: 5 * time.Second},
ReconcilerSyncLoopPeriod: metav1.Duration{Duration: 60 * time.Second},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The default 5 second also has a problem that - polling an entire cluster one by one (like how we do currently) is going to take more than 5 seconds even if done parallely, so likely we have overlapping polls going on.

@k8s-github-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

The following people have approved this PR: gnufied, jingxu97, saad-ali

Needs approval from an approver in each of these OWNERS Files:

We suggest the following people:
cc @deads2k
You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@jingxu97 jingxu97 changed the title Change default reconciler sync period to 1 minute Change default attach_detach_controller reconciler sync period to 1 minute Feb 13, 2017
@saad-ali saad-ali added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 13, 2017
@saad-ali
Copy link
Copy Markdown
Member

@k8s-bot gci gke e2e test this

@saad-ali
Copy link
Copy Markdown
Member

@k8s-bot unit test this

k8s-github-robot pushed a commit that referenced this pull request Feb 14, 2017
…63-upstream-release-1.5

Automatic merge from submit-queue

Automated cherry pick of #41363

Cherry pick of #41363 on release-1.5.

#41363: Change default reconciler sync period to 1 minute
@jingxu97
Copy link
Copy Markdown
Contributor Author

@k8s-bot gce etcd3 e2e test this

@k8s-github-robot
Copy link
Copy Markdown

Automatic merge from submit-queue

@k8s-github-robot k8s-github-robot merged commit f85fc7d into kubernetes:master Feb 14, 2017
@k8s-cherrypick-bot
Copy link
Copy Markdown

Commit found in the "release-1.5" branch appears to be this PR. Removing the "cherrypick-candidate" label. If this is an error find help to get your PR picked.

jessfraz added a commit that referenced this pull request Feb 22, 2017
…63-upstream-release-1.4

Automated cherry pick of #41363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/storage Categorizes an issue or PR as relevant to SIG Storage. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants