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

kubeadm doesn't check address families are consistent #1012

Closed
NeilW opened this issue Jul 20, 2018 · 7 comments
Closed

kubeadm doesn't check address families are consistent #1012

NeilW opened this issue Jul 20, 2018 · 7 comments
Assignees
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Milestone

Comments

@NeilW
Copy link

NeilW commented Jul 20, 2018

BUG REPORT

Versions

kubeadm version (use kubeadm version):
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:14:41Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
Environment:

  • Kubernetes version (use kubectl version):
    Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  • Cloud provider or hardware configuration:
    brightbox
  • OS (e.g. from /etc/os-release):
    Ubuntu LTS 18.04
  • Kernel (e.g. uname -a):
    Linux srv-jlhyq 4.15.0-23-generic Updating kubeadm manifests #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • Others:
    containerd github.com/containerd/containerd v1.1.2 468a545b9edcd5932818eb9de8e72413e616e86e

What happened?

kube-proxy fails with incorrect IP address family version when using an IPv6 serviceSubnet

E0720 13:06:37.024035       1 utils.go:138] fd8d:726f:29fb::ea28:367f:1 in clusterIP has incorrect IP version (service default/kubernetes).
E0720 13:06:37.024065       1 utils.go:138] fd8d:726f:29fb::ea28:367f:a in clusterIP has incorrect IP version (service kube-system/kube-dns).

What you expected to happen?

The default IP addresses and bind addresses selected should be consistent with the configuration given by the user, or an error issued.

How to reproduce it (as minimally and precisely as possible)?

apiVersion: kubeadm.k8s.io/v1alpha2
kind: MasterConfiguration
clusterName: kubernetes
networking:
  dnsDomain: cluster.local
  serviceSubnet: fd8d:726f:29fb::ea28:367f:0/112
kubernetesVersion: v1.11.0
apiServerExtraArgs:
  cloud-provider: external
controllerManagerExtraArgs:
  cloud-provider: external
nodeRegistration:
  criSocket: /var/run/containerd/containerd.sock

kubeadm init --config kubeadm.conf with the above config

Anything else we need to know?

The default address selection mechanism used by kubeadm favours IPv4 addresses, and that api address is used to determine the kube-proxy bind addresses - regardless of other address settings in the config. Given the move to dual-stack the default bind address should likely be '::' all the time unless IPv6 is turned off on the server/interface.

@neolit123 neolit123 added the kind/bug Categorizes issue or PR as related to a bug. label Jul 20, 2018
@timothysc timothysc added help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. priority/backlog Higher priority than priority/awaiting-more-evidence. labels Jul 20, 2018
@timothysc
Copy link
Member

/cc @kad

@kad
Copy link
Member

kad commented Aug 31, 2018

/assign

@ashwanikhemani
Copy link

Is anyone working on this? If not, I would like to work on this.

@neolit123
Copy link
Member

@ashwanikhemani
sure, go ahead!

/lifecycle active

@k8s-ci-robot k8s-ci-robot added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Oct 25, 2018
@neolit123 neolit123 removed the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Jan 3, 2019
@neolit123
Copy link
Member

ticket seems inactive.

@timothysc timothysc added this to the v1.14 milestone Jan 7, 2019
@timothysc timothysc modified the milestones: v1.14, Next Feb 13, 2019
@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 May 14, 2019
@neolit123 neolit123 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 May 14, 2019
@neolit123
Copy link
Member

with the dual-stack support in k8s and kubeadm this space is changing.

Given the move to dual-stack the default bind address should likely be '::' all the time unless IPv6 is turned off on the server/interface.

i'm pretty sure this should work in 1.14+.
see https://github.com/kubernetes/kubernetes/blob/release-1.14/cmd/kubeadm/app/util/config/initconfiguration.go#L134-L139

please re-open if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
None yet
Development

No branches or pull requests

7 participants