-
Notifications
You must be signed in to change notification settings - Fork 716
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 init phase certs apiserver should not need to check CRI endpoints #2937
Comments
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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/test-infra repository. |
/sig cluster-lifecycle |
/transfer kubeadm |
/assign |
it's a valid argument and maybe we can resolve the problem. we've done similar in the past. |
@FerminCastro Thanks for your feedback. |
A workaround is to set the apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
nodeRegistration:
criSocket: unix:///var/run/something.sock
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
apiServer:
certSANs:
- "test.com" |
Yes, we have actually updated our scripts to get the criSocket from the local kubelet proc. You can check it at |
normally kubeadm as the higher level tool tells the kubelet what socket to use. the kubelet doesn't have auto detection. |
Well if you have more than one crisocket kubelet would be running with the specific one you want to use, Right?: |
if you explicitly pass criSocket in kubeadm it will end up as the flag --container-runtime-endpoint, which means you don't need a script to take the socket from the kubelet as you already know what socket you want, supposedly. |
I need to detect the socket from the node. Plus kubeadm init phase certs apiserver does not allow using --crisocket as flag |
Since this is addressed in v1.27 kubernetes/kubernetes#114455, I am closing this one #since v1.27 kubernetes/kubernetes#114455 |
What happened?
While adding additional hostname alias to kube-api, we are using kubeadm to generate new certificates including the new hostnames:
When we try to apply this new kubeadm config, the operation is failing in all nodes because https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/util/runtime/runtime.go#L148 is checking for CRI endpoints and it is finding multiple endpoints (docker and containerd):
we don't understand why generating new certs needs to check for CRI endpoints. We do know we can fix this including the appropriate nodeRegistration.criSocket info in the kubeadm config file, but we think this CRI endpoint is an overkill for this op
What did you expect to happen?
Update of kube-api certSANs should NOT require CRI endpoints verifications
How can we reproduce it (as minimally and precisely as possible)?
In a system running docker (uses containerd as container runtime), execute kubeadm init phase certs apiserver to update certs
Anything else we need to know?
No response
Kubernetes version
Cloud provider
OS version
The text was updated successfully, but these errors were encountered: