-
Notifications
You must be signed in to change notification settings - Fork 717
Liveness probes for kube-apiserver pod are failing with --anonymous-auth=false
in place
#798
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
Comments
@timothysc can I work on that? |
@yagonobre I don't know about @timothysc but I would be happy if someone will take a look at this issue :). I'm happy to help you as much as I can. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@yagonobre @Evalle have you experienced this in newer k8s/kubeadm versions? |
@neolit123 I've tested v.1.10.x a couple of minutes ago - the same issue. |
@Evalle we have a small team and therefore have bandwidth issues testing 1.10 near the release of 1.12. |
/remove-lifecycle stale |
I think this won't be resolved until the idea from this comment is implemented. |
/assign @yagonobre |
This is still happening with 1.13.2. IMO kubeadm should be clever enough to use different probe if And without setting |
some of the k8s maintainers will probably disagree with such tests; i'm tempted to do the same. but most importantly this is not a kubeadm problem, we just expose the apiserver flags. i'm going to close this issue and kindly ask someone to open a new one in kubernetes/kubernetes and reference both this ticket and 51076. also tag with thank you. |
I know this is long closed, but the CIS benchmark specifically says
|
2 days ago (6th of Dec) there was a discussion in sig-auth's meeting to turn annon-auth to false by default. CIS benchmark is not approved by k8s maintainers, by far.
kubeadm already supports extraargs; extra envs are comming in v1beta4. https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/control-plane-flags/ |
I suppose patch is the real answer, the all-purpose fallback way to do whatever you want that the available configuration doesn't explicitly support, similar to Helm's post-renderers. Defaulting to Ultimately, I think the sanest way to do this would be put the /healthz endpoint on its own port like the other control plane components do. Anyone still concerned about the possibility of information leaking from the response could use firewall rules to only allow ingress on that port from localhost and the load balancer. |
What keywords did you search in kubeadm issues before filing this one?
apiserver, anonymous-auth
Is this a BUG REPORT or FEATURE REQUEST?
BUG REPORT
Versions
kubeadm version
Environment:
kubectl version
):What happened?
When I activated the option
--anonymous-auth=false
in kube-apiserver.yaml kubelet started to kill the apiserver pod over and over again because the liveness probes were unsuccessful. I can workaround this issue withinsucure-port
andinsecure-bind-address
options and make liveness probes ask on this insecure address and port but as of Kubernetes 1.10, the insecure flags will be deprecated: kubernetes/kubernetes#59018Currently, there is no other way to allow unauthenticated health checks (requests on kube-apiserver's /healthz endpoint) other than allowing anonymous requests (which we do not want). Related issue: kubernetes/kubernetes#43784. Is there something I'm missing?
What you expected to happen?
apiserver works fine with
--anonymous-auth=false
option.How to reproduce it (as minimally and precisely as possible)?
Just add
--anonymous-auth=false
option to kube-apiserver.yamlThe text was updated successfully, but these errors were encountered: