LoadClientCert requests a client cert for kubelet if the kubeconfigPath file does not exist. The kubeconfig at bootstrapPath is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated key and obtained certificate is written to kubeconfigPath. The certificate and key file are stored in certDir.
func LoadClientConfig(kubeconfigPath, bootstrapPath, certDir string) (certConfig, userConfig *restclient.Config, err error)
LoadClientConfig tries to load the appropriate client config for retrieving certs and for use by users. If bootstrapPath is empty, only kubeconfigPath is checked. If bootstrap path is set and the contents of kubeconfigPath are valid, both certConfig and userConfig will point to that file. Otherwise the kubeconfigPath on disk is populated based on bootstrapPath but pointing to the location of the client cert in certDir. This preserves the historical behavior of bootstrapping where on subsequent restarts the most recent client cert is used to request new client certs instead of the initial token.