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

Make VPN Network Range Configurable #8987

Closed
1 of 2 tasks
SimonKienzler opened this issue Dec 21, 2023 · 6 comments
Closed
1 of 2 tasks

Make VPN Network Range Configurable #8987

SimonKienzler opened this issue Dec 21, 2023 · 6 comments
Assignees
Labels
area/networking Networking related kind/enhancement Enhancement, improvement, extension

Comments

@SimonKienzler
Copy link
Contributor

SimonKienzler commented Dec 21, 2023

Summary

Currently, the VPN network range used in Gardener is restricted to the hard-coded default values, 192.168.123.0/24 and fd8f:6d53:b97a:1::/120. We propose to make this network range configurable to offer more flexibility to both operators and users. This is achieved by a new configuration option in gardener/gardener and gardener/vpn2.

Goals

  • allow deploying shoots into infrastructure networks that use the currently hard-coded VPN network (192.168.123.0/24)

Non-Goals

  • lift restrictions that shoot and seed networks must not overlap with the VPN network

Proposal

The proposal targets two projects: gardener/gardener and gardener/vpn2.

  • In gardener/gardener, configure VPN Network on Seed Level by introducing a new optional field Seed.spec.networks.vpn, type *string
    • default: current VPN CIDR (192.168.123.0/24/fd8f:6d53:b97a:1::/120)
    • validation:
      • must be a valid CIDR matching the selected IPFamily
      • must have the same size as the current hard-coded network: /24 (IPv4), /120 (IPv6)
      • instead of validating disjointedness with the hard-coded CIDR, the seed networks must be disjoint with the specified CIDR
    • scheduling: shoot networks must be disjoint with seed VPN network (similar to other seed networks)
      • validate during admission
      • consider in scheduler during seed filtering
    • Implemented in Make VPN Network configurable #9597
  • In gardener/vpn2, introduce a new environment variable for configuring the VPN network to use:VPN_NETWORK

The gardenlet sets the configured VPN network in the values provided to the vpn-seed-server and vpn-shoot ManagedResource deployments.

Alternatives

  • introduce a new optional field Shoot.spec.networking.vpn, type *string
    • default: current VPN CIDR (192.168.123.0/24/fd8f:6d53:b97a:1::/120)
    • validation:
      • must be a valid CIDR matching the selected IPFamily
      • must have the same size as the current hard-coded network: /24 (IPv4), /120 (IPv6)
      • Seed: the seed network disjointedness check with the VPN network is removed, as it can't be performed ahead of time (VPN Networks can be different for new Shoots)
    • Admission during shoot scheduling: validate that the specified VPN network is disjoint with the seed networks
    • CON: larger API surface. For the use cases we are aware of right now, the VPN CIDR range will be the same on all Shoots anyway
    • PRO: more flexibility, as VPN network can be selected individually for every Shoot

References

How to categorize this issue?
/area networking
/kind enhancement

/cc @timebertt @Kumm-Kai

@gardener-prow gardener-prow bot added area/networking Networking related kind/enhancement Enhancement, improvement, extension labels Dec 21, 2023
@timebertt
Copy link
Member

/assign @SimonKienzler

@gardener-ci-robot
Copy link
Contributor

The Gardener project currently lacks enough active contributors to adequately respond to all issues.
This bot triages issues 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 as fresh with /remove-lifecycle stale
  • Mark this issue as rotten with /lifecycle rotten
  • Close this issue with /close

/lifecycle stale

@gardener-prow gardener-prow bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 21, 2024
@timebertt
Copy link
Member

/remove-lifecycle stale

@gardener-prow gardener-prow bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 25, 2024
@timebertt
Copy link
Member

/unassign @SimonKienzler
/assign

@gardener-prow gardener-prow bot closed this as completed May 21, 2024
Copy link
Contributor

gardener-prow bot commented May 21, 2024

@timebertt: Closing this issue.

In response to this:

/close
in favor of https://github.com/gardener-community/hackathon/blob/main/2024-05_Schelklingen/README.md#%EF%B8%8F-pure-ipv6-based-vpn-tunnel / gardener/vpn2#83

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-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/networking Networking related kind/enhancement Enhancement, improvement, extension
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants