| | |
| | | ) |
| | | |
| | | func delete_test() { |
| | | var ( |
| | | namespaces = []string{"guangsheng", "geruimi", "tongsheng"} |
| | | ) |
| | | |
| | | var ( |
| | | namespaces = []string{"guangsheng", "geruimi", "tongsheng"} |
| | | ) |
| | | |
| | | // 配置 Kubernetes 集群的 kubeconfig 路径 |
| | | kubeconfig := flag.String("kubeconfig", filepath.Join(util.HomeDir(), ".kube", "config"), "kubeconfig file") |
| | | flag.Parse() |
| | |
| | | } |
| | | |
| | | // 删除 Namespace |
| | | err = deleteNamespace(clientset, namespace) |
| | | err = DeleteNamespace(Config{Client: clientset, NameSpace: namespace}) |
| | | if err != nil { |
| | | return err |
| | | } |
| | |
| | | } |
| | | |
| | | // deleteNamespace 删除指定的 Namespace |
| | | func deleteNamespace(clientset *kubernetes.Clientset, namespace string) error { |
| | | fmt.Println("\033[1;37;40mDeleting Namespace:", namespace, "\033[0m") |
| | | func DeleteNamespace(config Config) error { |
| | | fmt.Println("\033[1;37;40mDeleting Namespace:", config.NameSpace, "\033[0m") |
| | | |
| | | err := clientset.CoreV1().Namespaces().Delete(context.TODO(), namespace, metav1.DeleteOptions{}) |
| | | err := config.Client.CoreV1().Namespaces().Delete(context.TODO(), config.NameSpace, metav1.DeleteOptions{}) |
| | | if err != nil { |
| | | if errors.IsNotFound(err) { |
| | | fmt.Printf("Namespace %s not found\n", namespace) |
| | | fmt.Printf("Namespace %s not found\n", config.NameSpace) |
| | | } else { |
| | | return fmt.Errorf("failed to delete Namespace: %v", err) |
| | | } |
| | | } else { |
| | | fmt.Printf("Namespace %s deleted\n", namespace) |
| | | fmt.Printf("Namespace %s deleted\n", config.NameSpace) |
| | | } |
| | | |
| | | return nil |