kubernetes / kubernetes/kops

[Proposal] Refactor network config from cluster spec into a New Network Spec

Open
#4,138 6 comments 0 reactions 0 assignees View on GitHub
lifecycle/frozen
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.