diff --git a/cmd/climc/shell/k8s/k8s.go b/cmd/climc/shell/k8s/k8s.go index d7c5757031..2c85504b2d 100644 --- a/cmd/climc/shell/k8s/k8s.go +++ b/cmd/climc/shell/k8s/k8s.go @@ -155,6 +155,7 @@ func initK8sClusterResource(kind string, manager modules.Manager) *ShellCommands return nil }, ) + return NewShellCommands(cmdN).AddR(listCmd, getCmd, deleteCmd) } diff --git a/cmd/climc/shell/k8s/nodes.go b/cmd/climc/shell/k8s/nodes.go index 4c3866cc6f..a14303b569 100644 --- a/cmd/climc/shell/k8s/nodes.go +++ b/cmd/climc/shell/k8s/nodes.go @@ -67,4 +67,12 @@ func initNode() { fmt.Println(ret) return nil }) + + R(&o.NodeConfigDockerRegistryOptions{}, cmdN("config-docker-registry"), "Config node docker daemon registry", + func(s *mcclient.ClientSession, args *o.NodeConfigDockerRegistryOptions) error { + params := args.Params() + ret := k8s.Nodes.BatchPerformAction(s, args.ID, "config-docker-registry", params) + printBatchResults(ret, k8s.Nodes.GetColumns(s)) + return nil + }) } diff --git a/pkg/mcclient/options/k8s/node.go b/pkg/mcclient/options/k8s/node.go index 2a516b1635..a9035b8336 100644 --- a/pkg/mcclient/options/k8s/node.go +++ b/pkg/mcclient/options/k8s/node.go @@ -67,3 +67,20 @@ func (o NodeCreateOptions) Params() *jsonutils.JSONDict { } return params } + +type NodeConfigDockerRegistryOptions struct { + IdentsOptions + RegistryMirror []string `help:"Docker registry mirrors, e.g. 'https://registry.docker-cn.com'"` + InsecureRegistry []string `help:"Docker insecure registry"` +} + +func (o NodeConfigDockerRegistryOptions) Params() jsonutils.JSONObject { + dockerConf := dockerConfig{} + for _, rm := range o.RegistryMirror { + dockerConf.RegistryMirrors = append(dockerConf.RegistryMirrors, rm) + } + for _, im := range o.InsecureRegistry { + dockerConf.InsecureRegistries = append(dockerConf.InsecureRegistries, im) + } + return jsonutils.Marshal(dockerConf) +}