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

manage kube proxy parameter defaults and name differs between k8s and k8s::node #28

Closed
tuxmea opened this issue Apr 3, 2023 · 1 comment · Fixed by #29
Closed

manage kube proxy parameter defaults and name differs between k8s and k8s::node #28

tuxmea opened this issue Apr 3, 2023 · 1 comment · Fixed by #29

Comments

@tuxmea
Copy link
Member

tuxmea commented Apr 3, 2023

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: all
  • Ruby: all
  • Distribution: all
  • Module version: master branch

What are you seeing

In k8s class:

Boolean $manage_kube_proxy = true,

In k8s::node class:

Boolean $manage_proxy = false,

What behaviour did you expect instead

Should we use the k8s manage_kube_proxy parameter as default to k8s::node manage_proxy parameter?

@ananace
Copy link
Member

ananace commented Apr 3, 2023

There's actually a huge difference between the two parameters; k8s::manage_kube_proxy is used by k8s::server (through k8s::server::resources) to deploy kube-proxy as an in-cluster component.
While k8s::node::manage_proxy is used to deploy kube-proxy as an on-node component, with entirely different auth and configuration requirements.

Setting both to true would result in a broken cluster, as you'd have two separate proxy instances fighting over routing configuration. Similarly, setting both to false would result in a cluster entirely without the default kube-proxy component - which is used by clusters running network overlays that do their own proxying.

Perhaps k8s::manage_kube_proxy should be an enum variant instead, something like Variant[Enum['in-cluster', 'on-node'], Boolean] - with true being handled the same as in-cluster

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants