| | |
| | | "path/filepath" |
| | | "time" |
| | | |
| | | "../util" |
| | | "k8s.io/client-go/kubernetes" |
| | | "k8s.io/client-go/tools/clientcmd" |
| | | |
| | | "basic.com/aps/aps_deploy.git/src/create" |
| | | "basic.com/aps/aps_deploy.git/src/delete" |
| | | "../k8s" |
| | | ) |
| | | |
| | | var ( |
| | |
| | | } |
| | | |
| | | // 配置 Kubernetes 集群的 kubeconfig 路径 |
| | | kubeconfig := flag.String("kubeconfig", filepath.Join(homeDir(), ".kube", "config"), "kubeconfig file") |
| | | kubeconfig := flag.String("kubeconfig", filepath.Join(util.HomeDir(), ".kube", "config"), "kubeconfig file") |
| | | flag.Parse() |
| | | |
| | | // 创建 Kubernetes 客户端 |
| | |
| | | os.Exit(1) |
| | | } |
| | | |
| | | err := create.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) |
| | | err := k8s.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) |
| | | if err != nil { |
| | | panic(err) |
| | | } |
| | | |
| | | nodeport, err := create.GetServiceNodePort(clientset, *createNamespace, *createService) |
| | | nodeport, err := k8s.GetServiceNodePort(clientset, *createNamespace, *createService) |
| | | if err != nil { |
| | | panic(err) |
| | | } |
| | |
| | | os.Exit(1) |
| | | } |
| | | |
| | | err := delete.DeleteResources(clientset, *deleteNamespace, *deleteDeployment, *deleteService) |
| | | err := k8s.DeleteResources(clientset, *deleteNamespace, *deleteDeployment, *deleteService) |
| | | if err != nil { |
| | | panic(err) |
| | | } |
| | |
| | | for _, ns := range namespaces { |
| | | deploymentName := ns |
| | | serviceName := ns |
| | | err := create.CreateDeploymentAndService(clientset, ns, deploymentName, serviceName) |
| | | err := k8s.CreateDeploymentAndService(clientset, ns, deploymentName, serviceName) |
| | | if err != nil { |
| | | log.Printf("\033[97;41mFailed to create resources in namespace %s: %v\033[0m\n", ns, err) |
| | | } else { |
| | |
| | | |
| | | // 删除多个 Namespace 下的相同名称的 Deployment 和 Service |
| | | for _, ns := range namespaces { |
| | | err = delete.DeleteResources(clientset, ns, ns, ns) |
| | | err = k8s.DeleteResources(clientset, ns, ns, ns) |
| | | if err != nil { |
| | | panic(err) |
| | | } |
| | |
| | | } |
| | | |
| | | } |
| | | // homeDir 获取当前用户的家目录路径 |
| | | func homeDir() string { |
| | | if h := os.Getenv("HOME"); h != "" { |
| | | return h |
| | | } |
| | | return os.Getenv("USERPROFILE") // Windows 环境下获取用户目录 |
| | | } |
| | | |