Cluster-api-provider-aws: Support zone for machine deployment

Created on 31 May 2019  路  7Comments  路  Source: kubernetes-sigs/cluster-api-provider-aws

/kind feature

Describe the solution you'd like
For me use case, I want to be able to associate zone to machine deployment instead of using subnet. If we can achieve step 1: cluster-api team to add the list of zones as an extra field in the AWSClusterProviderSpec`'s NetworkSpec and when creating VPC, creates multiple zones specified in the spec, each associated with a subnet. Then maybe we can move to step 2, which is support for using zone(one of the zones defined as part of cluster object) to create machine deployment

Anything else you would like to add:
Please feel free to reach out to me with alternative design choices and the viability of the approach I mentioned above.

kinfeature lifecyclactive

Most helpful comment

@vincepri is correct in his understanding. I think I need to rethink the use case. As a cluster API user, when creating a machine deployment, will they want to micro manage and pass in the subnetID or just pass in the zone(s) and have CAPA find/create the subnet(s) for them.

All 7 comments

Is this related to or a duplicate of #275?

@ncdc I would say this is related but not completely the same. It is hard to tell the scope of the original ticket #275 because it didn't provide more concrete proposal. My request is more focus on adding the "zone" as part of the network spec for both cluster object and machine deployment object so that cluster API can create the multiple subnets/zones during VPC creation and the zones can be passed along inside machine deployment yaml to deploy machine in a given zone. Should I close this issue and for further conversation go under #275 ?

This is interesting. Is there anything in MachineDeployment right now that is provider specific in this way (aside from the Machine template contained within)?

As of right now, does CAPA even know when a Machine is part of a MachineDeployment? 馃 Chain of OwnerReferences maybe?

@rudoi Machines, when part of a deployment, have a controller reference to the MachineSet owned by the MachineDeployment.

As it stands, each MachineDeployment can only use a single subnet. I think @Lokicity is talking about a more automated approach which might pick from multiple subnets (with some strategy) given an AZ.

@vincepri is correct in his understanding. I think I need to rethink the use case. As a cluster API user, when creating a machine deployment, will they want to micro manage and pass in the subnetID or just pass in the zone(s) and have CAPA find/create the subnet(s) for them.

I definitely think that functionality would be useful. First hand, I've had to run through the exercise of selecting pre-created subnets based on AZ so that a cluster could be spread out.

Telling a MachineDeployment to use a zone would have been much easier.

/lifecycle active

Was this page helpful?
0 / 5 - 0 ratings

Related issues

benmoss picture benmoss  路  5Comments

detiber picture detiber  路  5Comments

randomvariable picture randomvariable  路  3Comments

randomvariable picture randomvariable  路  7Comments

tahsinrahman picture tahsinrahman  路  5Comments