kubernetes: apiserver crashes with --secure-port=0
Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
Started apiserver with flag --secure-port=0. The process crashes with the following logs:
I0914 15:44:19.040116 5 server.go:112] Version: v1.7.5
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x48 pc=0x16281b6]
goroutine 1 [running]:
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle.(*lifecycle).SetExternalKubeInformerFactory(0xc4208a5340, 0x0, 0x0)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle/admission.go:203 +0x26
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/initializer.pluginInitializer.Initialize(0x77ea900, 0xc4208d0840, 0x0, 0x0, 0x77b4d20, 0xc4208b47c0, 0x77bb460, 0xc4208a5340)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/initializer/initializer.go:49 +0x112
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/initializer.(*pluginInitializer).Initialize(0xc4208a15f0, 0x77bb460, 0xc4208a5340)
<autogenerated>:1 +0x70
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission.PluginInitializers.Initialize(0xc420918240, 0x2, 0x2, 0x77bb460, 0xc4208a5340)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/plugins.go:180 +0x5d
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission.(*PluginInitializers).Initialize(0xc420918260, 0x77bb460, 0xc4208a5340)
<autogenerated>:18 +0x73
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission.(*Plugins).InitPlugin(0xc4202a0090, 0xc420207080, 0x12, 0x0, 0x0, 0x77b4be0, 0xc420918260, 0x410e67, 0xc4205f94a0, 0x20, ...)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/plugins.go:155 +0x20c
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission.(*Plugins).NewFromPlugins(0xc4202a0090, 0xc4200fc9a0, 0x7, 0x7, 0x77b4c20, 0xc4208a47c0, 0x77b4be0, 0xc420918260, 0x0, 0xc42089e480, ...)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/admission/plugins.go:129 +0x126
k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options.(*AdmissionOptions).ApplyTo(0xc4208021e0, 0xc420806a80, 0xc420918220, 0x2, 0x2, 0x77e6160, 0xc42087a150)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apiserver/pkg/server/options/admission.go:84 +0x453
k8s.io/kubernetes/cmd/kube-apiserver/app.BuildGenericConfig(0xc420800000, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0xc420012c80, 0xc4208024e0, ...)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:448 +0x1150
k8s.io/kubernetes/cmd/kube-apiserver/app.CreateKubeAPIServerConfig(0xc420800000, 0x0, 0x0, 0x77b05a0, 0xc420270000, 0x0, 0x5d58d20, 0x28, 0x5d39304, 0x5, ...)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:254 +0xa9
k8s.io/kubernetes/cmd/kube-apiserver/app.Run(0xc420800000, 0xc4200680c0, 0x79767e0, 0x3c88c1b)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:119 +0x143
main.main()
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/cmd/kube-apiserver/apiserver.go:51 +0xe4
What you expected to happen:
apiserver is running but doesn’t generate TLS certificates automatically and is not listening on a secure port.
How to reproduce it (as minimally and precisely as possible):
Just set the flag identified above.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 17 (17 by maintainers)
The special meaning of zero was only inside the
Configstruct, and should not leak into the flags. The behaviour to switch of secure serving is correct.I bet this crash is related to what we fixed in https://github.com/kubernetes/kubernetes/pull/51900 for 1.8.