Skip to content

Conversation

@wgliang
Copy link
Contributor

@wgliang wgliang commented Jul 26, 2018

What this PR does / why we need it:
The system:aws-cloud-provider ClusterRole(Binding)s should be removed from the bootstrap policy, and instead configured by the provisioning tools.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #66628

Special notes for your reviewer:
@tallclair

/sig aws
/sig cloud-provider
/sig auth

Release note:

The `system:aws-cloud-provider` cluster role, deprecated in v1.13, is no longer auto-created. Deployments using the AWS cloud provider should grant required permissions to the `aws-cloud-provider` service account in the `kube-system` namespace as part of deployment. 

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. sig/aws sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. sig/auth Categorizes an issue or PR as relevant to SIG Auth. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jul 26, 2018
@tallclair
Copy link
Member

Deleting the roles is the easy part. The hard part is coordinating with the whole provisioning ecosystem to avoid unexpected breakage. How do we know when this is safe to merge?

@micahhausler
Copy link
Member

@tallclair I'm not familiar with where what component this gets run in, is it part of the APIServer?

@tallclair
Copy link
Member

@micahhausler yeah, it's part of the RBAC plugin, so whichever apiserver that's loaded in. Typically it's the kube-aggregator server, with extension servers using delegation, but I think it's also possible to run RBAC in each extension apiserver.

@duglin
Copy link

duglin commented Sep 7, 2018

@duglin
Copy link

duglin commented Sep 7, 2018

/retest

@duglin
Copy link

duglin commented Sep 9, 2018

/test pull-kubernetes-bazel-test

@duglin
Copy link

duglin commented Sep 9, 2018

@wgliang I think the expected output needs to be updated.

duglin pushed a commit to duglin/kubernetes that referenced this pull request Sep 10, 2018
@duglin
Copy link

duglin commented Sep 10, 2018

@wgliang will you have time to finish this one?

@wgliang
Copy link
Contributor Author

wgliang commented Sep 10, 2018

Yeah, I'll will update it.

@duglin
Copy link

duglin commented Sep 11, 2018

@wgliang thanks. If it helps, I created this: master...duglin:pr66635 if case you didn't have time. There's another "aws" line I think might need to be removed too.

@wgliang wgliang force-pushed the feature/remove-aws-cloud-provider branch from f329c87 to c5875e7 Compare September 11, 2018 23:55
@wgliang
Copy link
Contributor Author

wgliang commented Sep 12, 2018

@duglin
Thanks for your review. I have updated it.

@duglin
Copy link

duglin commented Sep 12, 2018

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 12, 2018
@duglin
Copy link

duglin commented Sep 25, 2018

with the thaw... any chance of moving this one along now?

@tallclair
Copy link
Member

This LGTM, but I'd like to get approval from someone from @kubernetes/sig-aws-misc
Maybe @justinsb ?

@duglin
Copy link

duglin commented Oct 5, 2018

ping @justinsb @kubernetes/sig-aws-misc

@tallclair
Copy link
Member

/cc @lavalamp - FYI

@k8s-ci-robot k8s-ci-robot requested a review from lavalamp October 10, 2018 20:45
@lavalamp
Copy link
Contributor

How did this get in there in the first place? We really shouldn't have any cloud provider specific code like this that's not hidden behind an interface in a cloud provider package.

@gnufied
Copy link
Member

gnufied commented Oct 19, 2018

@lavalamp it got in here via #56709 and at that time there used to be a generic system:cloud-provider service account which had similar access to modify resources. There is a long history of comments how it got there(if you read the PR). but GCE cloudprovider has similar access. I originally proposed AWS cloud-provider to use same system:cloud-provider service account that GCE uses.

@gnufied
Copy link
Member

gnufied commented Oct 19, 2018

BTW - is there any reason we can't deprecate this RBAC policy first and remove it in next release? That at least will give time for installation tools to catch up and will be consistent with how other cloudprovider policies are being removed. cc @justinsb

@liggitt
Copy link
Member

liggitt commented Oct 19, 2018

agree with announcing removal prior to removing

@liggitt
Copy link
Member

liggitt commented Oct 26, 2018

@wgliang can you make sure a deprecation notice makes it into the 1.13 release notes, and is announced to the relevant sigs (looks like aws, in this case), along with the required action for deployers? do we want to copy this role out to a yaml manifest that deployers can use as they transition to granting this permission externally?

@wgliang
Copy link
Contributor Author

wgliang commented Oct 27, 2018

@liggitt No problem. I will follow up with 1.13 release note and communicate with the relevant personnel.

@liggitt
Copy link
Member

liggitt commented Nov 27, 2018

added to 1.13 release notes as deprecated

/hold
for 1.15

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 27, 2018
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 29, 2018
@tallclair tallclair added this to the v1.15 milestone Jan 2, 2019
@tallclair tallclair added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Jan 2, 2019
@liggitt
Copy link
Member

liggitt commented Apr 2, 2019

/hold cancel

master is open for 1.15 dev now, can you rebase this?

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 2, 2019
@wgliang wgliang force-pushed the feature/remove-aws-cloud-provider branch from c5875e7 to 128fd88 Compare April 2, 2019 11:18
@k8s-ci-robot k8s-ci-robot removed lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Apr 2, 2019
@wgliang
Copy link
Contributor Author

wgliang commented Apr 2, 2019

@liggitt Done.

@liggitt
Copy link
Member

liggitt commented Apr 2, 2019

/retest
/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 2, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: justinsb, liggitt, wgliang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

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 k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 2, 2019
@k8s-ci-robot k8s-ci-robot merged commit 4e397d9 into kubernetes:master Apr 2, 2019
justinsb added a commit to justinsb/kops that referenced this pull request May 9, 2019
We consider it part of the storage configuration for AWS now.

Upstream change: kubernetes/kubernetes#66635
justinsb added a commit to justinsb/kops that referenced this pull request May 9, 2019
We consider it part of the storage configuration for AWS now.

Upstream change: kubernetes/kubernetes#66635
rjosephwright added a commit to cloudboss/keights that referenced this pull request Jun 25, 2019
* Update kubeadm init and join configs with new versions and
  options.
* This includes switching to cgroupfs cgroup driver in kubelet
  due to kubernetes/kubernetes#76531.
* Add AWS RBAC to keights-system Ansible role since
  kubernetes/kubernetes#66635 removes
  those permissions by default.
* Update CI assets and README build status badges.
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. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move cloud-specific roles out of RBAC bootstrap