mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 13:37:30 +00:00
kubeadm: init must validate or generate token before anything else.
Fixes kubernetes/kubeadm#112
This commit is contained in:
parent
9d2fce7c22
commit
2e8df3b569
@ -200,18 +200,19 @@ func (i *Init) Validate() error {
|
|||||||
// Run executes master node provisioning, including certificates, needed static pod manifests, etc.
|
// Run executes master node provisioning, including certificates, needed static pod manifests, etc.
|
||||||
func (i *Init) Run(out io.Writer) error {
|
func (i *Init) Run(out io.Writer) error {
|
||||||
|
|
||||||
// PHASE 1: Generate certificates
|
// Validate token if any, otherwise generate
|
||||||
caCert, err := certphase.CreatePKIAssets(i.cfg, kubeadmapi.GlobalEnvParams.HostPKIPath)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Exception:
|
|
||||||
if i.cfg.Discovery.Token != nil {
|
if i.cfg.Discovery.Token != nil {
|
||||||
// Validate token
|
if i.cfg.Discovery.Token.ID != "" && i.cfg.Discovery.Token.Secret != "" {
|
||||||
|
fmt.Printf("[token-discovery] A token has been provided, validating [%+v]\n", i.cfg.Discovery.Token)
|
||||||
if valid, err := kubeadmutil.ValidateToken(i.cfg.Discovery.Token); valid == false {
|
if valid, err := kubeadmutil.ValidateToken(i.cfg.Discovery.Token); valid == false {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Printf("[token-discovery] A token has not been provided, generating one\n")
|
||||||
|
if err := kubeadmutil.GenerateToken(i.cfg.Discovery.Token); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Make sure there is at least one address
|
// Make sure there is at least one address
|
||||||
if len(i.cfg.Discovery.Token.Addresses) == 0 {
|
if len(i.cfg.Discovery.Token.Addresses) == 0 {
|
||||||
@ -227,6 +228,12 @@ func (i *Init) Run(out io.Writer) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PHASE 1: Generate certificates
|
||||||
|
caCert, err := certphase.CreatePKIAssets(i.cfg, kubeadmapi.GlobalEnvParams.HostPKIPath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// PHASE 2: Generate kubeconfig files for the admin and the kubelet
|
// PHASE 2: Generate kubeconfig files for the admin and the kubelet
|
||||||
|
|
||||||
// TODO this is not great, but there is only one address we can use here
|
// TODO this is not great, but there is only one address we can use here
|
||||||
|
Loading…
Reference in New Issue
Block a user