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

Support writing AWS cloud provider tags on pre-existing infrastructure #2584

Closed
scottslowe opened this issue Jul 6, 2021 · 17 comments
Closed
Assignees
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. needs-priority

Comments

@scottslowe
Copy link
Contributor

User Story

As a user/operator I would like to be able to have CAPA write the necessary AWS tags required for proper AWS cloud provider operation onto pre-existing/pre-provisioned infrastructure, so that shared infrastructure can used to support multiple CAPI workload clusters.

Detailed Description

Currently, CAPA will write AWS cloud provider tags (kubernetes.io/cluster/<name> = [owned | shared]) onto AWS infrastructure it creates, but it will not write AWS cloud provider tags onto pre-existing/pre-provisioned AWS infrastructure. In such cases, the ability to support multiple workload clusters within a single set of shared AWS infrastructure is limited unless the names of the workload clusters are known or assigned in advance. When the names are known or assigned in advance, the appropriate tags can be added to the shared AWS infrastructure before the workload clusters are provisioned. When the names are not known or assigned in advance, then the tags must be managed separately and independently.

Anything else you would like to add:

Not that I can think of at this time.

/kind feature

@vincepri
Copy link
Member

vincepri commented Jul 6, 2021

@scottslowe Should this be filed in CAPA? I can transfer if that's the case

@scottslowe
Copy link
Contributor Author

@vincepri Doh! Yes, you are correct, my apologies, and thank you for transferring it over.

@randomvariable
Copy link
Member

@vincepri can you transfer it?

@scottslowe
Copy link
Contributor Author

@vincepri @randomvariable Do you all need/want me to close this and re-open in the appropriate repo?

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Jul 15, 2021
@vincepri vincepri transferred this issue from kubernetes-sigs/cluster-api Jul 15, 2021
@sedefsavas
Copy link
Contributor

/milestone v0.7.x
/good-first-issue

@k8s-ci-robot
Copy link
Contributor

@sedefsavas:
This request has been marked as suitable for new contributors.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-good-first-issue command.

In response to this:

/milestone v0.7.x
/good-first-issue

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added this to the v0.7.x milestone Aug 12, 2021
@k8s-ci-robot k8s-ci-robot added good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Aug 12, 2021
@pydctw
Copy link
Contributor

pydctw commented Aug 19, 2021

/assign

@pydctw
Copy link
Contributor

pydctw commented Aug 24, 2021

@scottslowe, which pre-existing AWS resources need these tags?
Is adding kubernetes.io/cluster/<name> = shared tag to subnets enough? Or are there other AWS resources that need the tags?

@scottslowe
Copy link
Contributor Author

We need that tag on all subnets, yes, but we also need kubernetes.io/role/internal-elb = 1 for private subnets and kubernetes.io/role/elb = 1 for public subnets. We also need the kubernetes.io/cluster/<name> = shared tag on the VPC.

@pydctw
Copy link
Contributor

pydctw commented Aug 25, 2021

Thanks. I will add appropriate elb tags to subnets.
For kubernetes.io/cluster/<name> = shared tag on the VPC, is this needed? I am asking because I don't see kubernetes.io/cluster/<name> = owned tag on the VPC created by CAPA. It has sigs.k8s.io/cluster-api-provider-aws/cluster/<name> = owned tag instead.

@scottslowe
Copy link
Contributor Author

I was under the impression/belief that the kubernetes.io/cluster/<name> = shared | owned tag needed to be on the VPC for the AWS cloud provider to work, but I could be mistaken. If we have examples of the AWS cloud provider being functional with the tag on the VPC, then let's leave it off.

@pydctw
Copy link
Contributor

pydctw commented Aug 25, 2021

Sounds great. FYI, these are the tags for VPC created by CAPA when I followed cluster-api book quick start.

image

@scottslowe
Copy link
Contributor Author

The documentation for the AWS cloud provider (both the deprecated in-tree version and the out-of-tree version) is sadly lacking any information on required tags and what objects need which tags.

@scottslowe
Copy link
Contributor Author

I saw that #2715 had been merged; I'm guessing this will hit the 0.7.1 release?

@pydctw
Copy link
Contributor

pydctw commented Sep 23, 2021

I think so as 0.7.1 hasn't been released yet. cc @sedefsavas

@randomvariable
Copy link
Member

Released in v0.7.1 and v1.0.0

/close

@k8s-ci-robot
Copy link
Contributor

@randomvariable: Closing this issue.

In response to this:

Released in v0.7.1 and v1.0.0

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. needs-priority
Projects
None yet
Development

No branches or pull requests

6 participants