diff --git a/cluster/remove.go b/cluster/remove.go index b92992d1..f3a79a43 100644 --- a/cluster/remove.go +++ b/cluster/remove.go @@ -2,6 +2,7 @@ package cluster import ( "github.com/rancher/rke/hosts" + "github.com/rancher/rke/pki" "github.com/rancher/rke/services" ) @@ -22,7 +23,11 @@ func (c *Cluster) ClusterRemove() error { } // Clean up all hosts - return cleanUpHosts(c.ControlPlaneHosts, c.WorkerHosts, c.EtcdHosts) + if err := cleanUpHosts(c.ControlPlaneHosts, c.WorkerHosts, c.EtcdHosts); err != nil { + return err + } + + return pki.RemoveAdminConfig(c.LocalKubeConfigPath) } func cleanUpHosts(cpHosts, workerHosts, etcdHosts []hosts.Host) error { diff --git a/pki/deploy.go b/pki/deploy.go index c21435a3..88d5f036 100644 --- a/pki/deploy.go +++ b/pki/deploy.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "io/ioutil" + "os" "time" "github.com/docker/docker/api/types" @@ -110,3 +111,12 @@ func DeployAdminConfig(kubeConfig, localConfigPath string) error { } return nil } + +func RemoveAdminConfig(localConfigPath string) error { + logrus.Infof("Removing local admin Kubeconfig: %s", localConfigPath) + if err := os.Remove(localConfigPath); err != nil { + return fmt.Errorf("Failed to remove local admin Kubeconfig file: %v", err) + } + logrus.Infof("Local admin Kubeconfig removed successfully") + return nil +}