[Proposal] Refactor network config from cluster spec into a New Network Spec
- Dominant language
- Go
- Stars
- 16.7k
- Forks
- 4.7k
- Avg merge
- 17h 21m
- Merged PRs (30d)
- 68
Description
This was discussed at kops office hours on 12/22 and I believe folks have been thinking about this idea for some time.
I propose that it's time to pull network config (VPC, subnets, routes, etc) out of the cluster spec and into a first class networking spec/object. We currently have the ability to configure networking in the cluster spec, but as kops networking moves away from the aws vision of the world and morphs into a more agnostic cloud/bare metal networking, I think a refactor like this would let us address more varied configs in a more manageable way.
First steps are probably to pull the existing descriptors out from the cluster spec and move them into a new spec (which will be called Network). Next step is making this spec general enough to address the needs of the community including different types of egress, routes, cidrs and many others that I'm leaving out.
I'd like to get comments from the community about pain points for network management and how you would be interested in using kops to manage those- especially associated with the cluster that kops creates/manages. I'm also interested to hear if this seems like a good use of time or not. We could certainly continue to manage the network from within the cluster spec- but
My specific interest in this relates to adding routes to subnets that are created/managed by kops. Currently, I manage them via TF, but this is kind of clunky.
Contributor guide
Research direction
Start by locating the cluster spec's existing VPC, subnet, and route descriptors and the kops code that creates or manages them. Review how those resources are configured today, then define what would move into a first-class Network spec and how it should support cloud-agnostic egress, routes, and CIDRs; done requires community requirements and an agreed design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go, terraform
- Domain
- cloud, infrastructure, networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100