mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-02 19:28:16 +00:00
The addition of the "super-admin.conf" functionality required init.go's Client() to create RBAC rules on its first creation. However this created a problem with the "wait-control-plane" phase of "kubeadm init" where a client is needed to connect to the API server Discovery API's "/healthz" endpoint. The logic that ensures the RBAC became the step where the API server wait was polled for. To avoid this, introduce a new InitData function ClientWithoutBootstrap. In "wait-control-plane" use this client, which has no permissions (anonymous), but is sufficient to connect to the "/healthz". Pending changes here would be: - Stop using the "/healthz", instead a regular REST client from the kubelet cert/key can be constructed. - Make the wait for kubelet / API server linear (not in go routines).