delete cluster
This commit is contained in:
parent
8c965a9f16
commit
8eb9832298
@ -39,6 +39,7 @@ func NewCmdCreateCluster() *cobra.Command {
|
||||
Use: "cluster",
|
||||
Short: "Create a new k3s cluster in docker",
|
||||
Long: `Create a new k3s cluster with containerized nodes (k3s in docker).`,
|
||||
Args: cobra.ExactArgs(1), // exactly one cluster name can be set
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
runtime, cluster := parseCmd(cmd, args)
|
||||
if err := k3dCluster.CreateCluster(cluster, runtime); err != nil {
|
||||
@ -68,7 +69,7 @@ func parseCmd(cmd *cobra.Command, args []string) (runtimes.Runtime, *k3d.Cluster
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
cluster := k3d.Cluster{}
|
||||
cluster := k3d.Cluster{Name: args[0]}
|
||||
|
||||
return runtime, &cluster
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/rancher/k3d/pkg/cluster"
|
||||
"github.com/rancher/k3d/pkg/runtimes"
|
||||
k3d "github.com/rancher/k3d/pkg/types"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
@ -37,18 +38,26 @@ func NewCmdCreateNode() *cobra.Command {
|
||||
Use: "node",
|
||||
Short: "Create a new k3s node in docker",
|
||||
Long: `Create a new containerized k3s node (k3s in docker).`,
|
||||
Args: cobra.ExactArgs(1), // exactly one name accepted
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
log.Debugln("create node called")
|
||||
rt, err := cmd.Flags().GetString("runtime")
|
||||
if err != nil {
|
||||
log.Debugln("runtime not defined")
|
||||
}
|
||||
if err := cluster.CreateNode(&k3d.Node{}, rt); err != nil {
|
||||
runtime, err := runtimes.GetRuntime(rt)
|
||||
if err != nil {
|
||||
log.Fatalf("Unsupported runtime '%s'", rt)
|
||||
}
|
||||
if err := cluster.CreateNode(&k3d.Node{Name: args[0]}, runtime); err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
// add flags
|
||||
cmd.Flags().Int("replicas", 1, "Number of replicas of this node specification.")
|
||||
|
||||
// done
|
||||
return cmd
|
||||
}
|
||||
|
||||
@ -22,6 +22,9 @@ THE SOFTWARE.
|
||||
package delete
|
||||
|
||||
import (
|
||||
"github.com/rancher/k3d/pkg/cluster"
|
||||
"github.com/rancher/k3d/pkg/runtimes"
|
||||
k3d "github.com/rancher/k3d/pkg/types"
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
@ -37,6 +40,19 @@ func NewCmdDeleteCluster() *cobra.Command {
|
||||
Long: `Delete a cluster.`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
log.Debugln("delete cluster called")
|
||||
rt, err := cmd.Flags().GetString("runtime")
|
||||
if err != nil {
|
||||
log.Debugln("runtime not defined")
|
||||
}
|
||||
runtime, err := runtimes.GetRuntime(rt)
|
||||
if err != nil {
|
||||
log.Fatalf("Unsupported runtime '%s'", rt)
|
||||
}
|
||||
for _, name := range args {
|
||||
if err := cluster.DeleteCluster(&k3d.Cluster{Name: name}, runtime); err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -36,20 +36,25 @@ func NewCmdDeleteNode() *cobra.Command {
|
||||
Use: "node",
|
||||
Short: "Delete a node.",
|
||||
Long: `Delete a node.`,
|
||||
Args: cobra.MinimumNArgs(1), // at least one node has to be specified
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
log.Debugln("delete node called")
|
||||
rt, err := cmd.Flags().GetString("runtime")
|
||||
if err != nil {
|
||||
log.Debugln("runtime not defined")
|
||||
}
|
||||
if err := cluster.DeleteNode(&k3d.Node{Name: "test"}, rt); err != nil {
|
||||
log.Fatalln(err)
|
||||
for _, name := range args {
|
||||
if err := cluster.DeleteNode(&k3d.Node{Name: name}, rt); err != nil {
|
||||
log.Errorln(err)
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
// add subcommands
|
||||
|
||||
// add flags
|
||||
|
||||
// done
|
||||
return cmd
|
||||
}
|
||||
|
||||
@ -38,3 +38,7 @@ func CreateCluster(cluster *k3d.Cluster, runtime k3drt.Runtime) error {
|
||||
log.Debugln("...success")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteCluster(cluster *k3d.Cluster, runtime k3drt.Runtime) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -31,14 +31,7 @@ import (
|
||||
)
|
||||
|
||||
// CreateNode creates a new containerized k3s node
|
||||
func CreateNode(nodeSpec *k3d.Node, runtimeChoice string) error {
|
||||
var runtime k3drt.Runtime
|
||||
if runtimeChoice == "docker" {
|
||||
runtime = k3dDocker.Docker{}
|
||||
} else {
|
||||
runtime = k3dContainerd.Containerd{}
|
||||
}
|
||||
|
||||
func CreateNode(nodeSpec *k3d.Node, runtime k3drt.Runtime) error {
|
||||
if err := runtime.CreateNode(nodeSpec); err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ func (d Containerd) CreateNode(nodeSpec *k3d.Node) error {
|
||||
log.Errorln("Couldn't create container")
|
||||
return err
|
||||
}
|
||||
log.Debugln("Created container with ID", resp.ID)
|
||||
log.Infoln("Created container with ID", resp.ID())
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user