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

API Evolution for VPC and Networking Topologies #1484

Open
randomvariable opened this issue Jan 15, 2020 · 34 comments
Open

API Evolution for VPC and Networking Topologies #1484

randomvariable opened this issue Jan 15, 2020 · 34 comments
Assignees
Labels
area/vpc Issues or PRs related to Amazon VPCs kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Milestone

Comments

@randomvariable
Copy link
Member

randomvariable commented Jan 15, 2020

/kind feature

Describe the solution you'd like
There are differing options on how to run Kubernetes clusters in AWS, these include:

  • IPv6 vs IPv4
  • NAT gateways for internet connectivity, vs. DirectConnect vs. internal only
  • A plethora of CNIs
  • Multiple load balancer implementation for Kubernetes services

How does a user figure out what one to use, and how best can we enable them?

Related issues include:
#931, #1208 , #1158 , #1062 , #1727

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

A proposal for this should include a evolutionary roadmap as far as the API goes. What are the most immediate concerns that can be addressed as additions to the v1alpha3 API, and what should be best considered as a breaking API changes.

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 15, 2020
@randomvariable
Copy link
Member Author

@fabriziopandini if you have any thoughts on this, would be appreciated.

@fabriziopandini
Copy link
Member

@randomvariable I have something similar in the radar, but I dubt we can workout details during this iteration
rif kubernetes-sigs/cluster-api#1729

  • Prototype interactive mode for allowing users to set "on-the-fly" the variables to be injected in the yaml for providers components or providers templates
  • Prototype a pluggable template system (vs supporting only variables substitution)

In order to ^^^, it should be defined a way for clusterctl to interact with each provider while creating the cluster template, because the providers are the owner of the knowledge of what can be configured or not, and considering this should be accepted by each provider, I assume this requires a CAEP

@ncdc ncdc added this to the Next milestone Jan 27, 2020
@ncdc ncdc 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 27, 2020
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 26, 2020
@detiber
Copy link
Member

detiber commented Apr 27, 2020

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 27, 2020
@richardcase
Copy link
Member

Also relates to #1643 and #1323

@randomvariable
Copy link
Member Author

@richardcase Would be useful to get the requirements for EKS down. I would have thought we can make EKS work with the existing topology.

@richardcase
Copy link
Member

@randomvariable - i'll start documenting the requirments. The current default topology doesn't work as the 2 subnets it creates (1 public & 1 private) are in a single az and EKS requires subnets in at least 2 azs.

@richardcase
Copy link
Member

richardcase commented May 7, 2020

https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html

It would include stuff from there and other requirements.

@moensch
Copy link
Contributor

moensch commented May 7, 2020

I've been asked to document our specific topology in here (ref: https://kubernetes.slack.com/archives/CD6U2V71N/p1588804729193200)

Our starting point in the account is that a Direct Connect Gateway (DXG) exists. What we would need CAPA be able to do is:

  1. Accept DXG ID as input (probably as part of the AWSCluster NetworkSpec?)
  2. Ability to create a Virtual Private Gateway/VPN Gateway/VGW (it has many names)
  3. Attach the VGW to the VPC once it's created
  4. Attach the VGW to the DXG (that's a very slow process, several minutes to reconcile)
  5. Accept an array of CIDRs to add route table entries for with a target of the VGW (or a flag to enable route propagation)

@randomvariable
Copy link
Member Author

/assign

@randomvariable
Copy link
Member Author

/assign @voor

@k8s-ci-robot
Copy link
Contributor

@randomvariable: GitHub didn't allow me to assign the following users: voor.

Note that only kubernetes-sigs members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

/assign @voor

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.

@randomvariable
Copy link
Member Author

randomvariable commented May 21, 2020

/lifecycle active (only from a gathering thoughts perspective)

Will be sharing a Google Doc with initial ideas in a little while. Will definitely be towards v1alpha4 though.

@k8s-ci-robot k8s-ci-robot added lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. and removed lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. labels May 21, 2020
@randomvariable randomvariable changed the title VPC and Networking Topologies API Evolution for VPC and Networking Topologies May 21, 2020
@sedefsavas
Copy link
Contributor

/triage accepted

@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Nov 1, 2021
@randomvariable randomvariable added this to the Backlog milestone Nov 8, 2021
@sedefsavas
Copy link
Contributor

Another use case is using only public subnets: #2997

@enxebre
Copy link
Member

enxebre commented Dec 15, 2021

kinda related #3035

@richardcase
Copy link
Member

/remove-lifecycle frozen

@k8s-ci-robot k8s-ci-robot removed the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Jul 12, 2022
@richardcase
Copy link
Member

/milestone v2.x

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 23, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Nov 22, 2022
@AverageMarcus
Copy link
Member

/remove-lifecycle rotten

Still relevant and related to #3711

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Nov 22, 2022
@AverageMarcus
Copy link
Member

Also relevant: #4026

@enxebre
Copy link
Member

enxebre commented Jul 6, 2023

There are differing options on how to run Kubernetes clusters in AWS, these include:

Some thoughts: We'd probably want to also reason in terms of Control Plane vs Data Plane networking and how konnectivity enables that.
We could also categorise topologies as public, private, PublicAndPrivate depending on how we expose the control plane components, e.g. in a private setup kas endpoint would only be accessible via privateLink.

@k8s-triage-robot
Copy link

This issue has not been updated in over 1 year, and should be re-triaged.

You can:

  • Confirm that this issue is still relevant with /triage accepted (org members only)
  • Close this issue with /close

For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/

/remove-triage accepted

@k8s-ci-robot k8s-ci-robot added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. and removed triage/accepted Indicates an issue or PR is ready to be actively worked on. labels Jul 5, 2024
@richardcase
Copy link
Member

/triage accepted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/vpc Issues or PRs related to Amazon VPCs kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
Status: Todo
Development

No branches or pull requests