ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Seldon Core CLI `seldon config remove` 详解:配置项的删除与去激活机制

Seldon Core CLI `seldon config remove` 详解:配置项的删除与去激活机制 人工智能大模型MLOpsLLMOps模型推理服务云原生后端【免费下载链接】seldon-coreAn MLOps framework to package, deploy, monitor and manage thousands of production machine learning models项目地址https://gitcode.com/gh_mirrors/se/seldon-core点击查看免费下载seldon config remove是 Seldon Core v2 命令行工具中用于删除已保存 CLI 配置项的子命令。本文围绕该命令的完整用法展开结合仓库中 config_remove.go 与 configs.go 的实现源码讲解其参数约束、底层删除逻辑含活动配置去激活的自动处理、配置文件存储位置并给出从添加、激活、查看到删除的完整生命周期示例帮助读者安全、正确地管理本机 CLI 配置。命令概览seldon config remove属于seldon config命令族的子命令之一。根据 seldon_config_remove.md 的定义该命令的完整声明如下命令名称seldon config remove用途Shortremove config删除配置详细说明Longremove config删除指定 key 对应的配置语法seldon config remove [flags]可选参数-h, --help help for remove父命令seldon config—— manage configs管理配置详见 seldon_config.md。值得注意的是自动生成的帮助文档中语法写作seldon config remove [flags]但从源码实现来看该命令实际要求恰好一个位置参数即配置项的名称key完整调用形式应为seldon config remove key命令在 CLI 命令族中的位置seldon config是 Seldon Core CLI 中管理配置文件的入口其子命令族完整清单如下均位于 docs-gb/cli 目录下子命令用途文档seldon config add key path以指定 key 添加一个配置文件路径seldon_config_add.mdseldon config activate key激活指定 key 的配置seldon_config_activate.mdseldon config deactivate key取消激活指定 key 的配置seldon_config_deactivate.mdseldon config list [key]列出全部配置或查看指定 key 配置内容seldon_config_list.mdseldon config remove key删除指定 key 的配置seldon_config_remove.md可以看到remove是配置生命周期管理的最后一个环节与add写入、activate/deactivate切换生效配置、list查看共同构成一套完整的管理闭环。参数约束必须且只能传入一个 key从源码 config_remove.go 可以看到命令的注册细节cmd : cobra.Command{ Use: remove key, Short: remove config for given key, Long: remove config for given key, Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { configKey : args[0] configs, err : cli.LoadSeldonCLIConfigs() if err ! nil { return err } return configs.Remove(configKey) }, }关键点解读Use字段为remove key声明了命令的正式用法。key即配置项的唯一标识它是删除操作的目标。Args: cobra.ExactArgs(1)严格校验参数个数。不传参数或传入多个参数都会触发 cobra 的参数校验错误命令不会执行。执行流程先通过cli.LoadSeldonCLIConfigs()加载本机的配置索引文件然后调用configs.Remove(configKey)完成删除并将save的结果作为命令退出状态返回。常用调用示例# 删除名为 my-k8s-cluster 的配置项 seldon config remove my-k8s-cluster # 查看命令帮助 seldon config remove --help # 或 seldon config remove -h底层实现删除时自动处理活动配置Remove方法定义在 configs.go其实现体现了本命令最重要的一个设计细节——对被删除配置当前正处于激活状态的情况做了自动处理func (sc *SeldonCLIConfigs) Remove(key string) error { if sc.Active ! nil *sc.Active key { sc.Active nil } delete(sc.Configs, key) return sc.save() }逐行拆解这段逻辑去激活检查如果待删除的 key 恰好是当前活动配置sc.Active ! nil *sc.Active key则先把sc.Active置为nil。这一步是必须的因为configs.json中的active字段存储的是 key 名称若只删除 key 而不清空activeCLI 后续读取活动配置时会指向一个已不存在的 key导致加载失败。删除映射delete(sc.Configs, key)从配置索引map[string]string中移除key - 配置文件路径的映射关系。持久化sc.save()将更新后的索引重新写回磁盘。需要说明的是Remove删除的是配置索引中的 key 映射即configs.json中的条目而不会删除 key 所指向的磁盘上的实际配置文件如~/.config/seldon/cli/config.json或用户自定义路径下的配置文件。从 configs.go 中SeldonCLIConfigs的数据结构可以印证这一点——索引中保存的是路径字符串而非配置内容type SeldonCLIConfigs struct { Configs map[string]string json:configs,omitempty Active *string json:active,omitempty }配置文件存储位置与格式理解remove删除的对象需要先了解 CLI 配置的存储机制。根据 config.go 的常量定义const ( seldonCfgFilepath .config/seldon/cli configFilename config.json )配置目录~/.config/seldon/cli/通过 config.go 中getConfigDir()基于user.Current().HomeDir拼接得到。配置索引文件configs.json位于该目录下由 configs.go 的getConfigsFile()定义这就是remove命令实际修改的文件。单个配置内容文件config.json存储具体的数据平面/控制平面连接参数。configs.json是seldon config命令族操作的核心数据结构其 JSON 形态大致如下{ configs: { my-cluster: /home/user/.config/seldon/cli/config.json, dev-cluster: /path/to/dev-config.json }, active: my-cluster }其中configskey 与配置文件绝对路径的映射active当前激活的 key可能为null或缺失。执行seldon config remove dev-cluster后dev-cluster条目会被移除若删除的是my-cluster当前 active则active会同时被清空。而单个配置文件SeldonCLIConfig的结构定义在 config.go包含三大配置块type SeldonCLIConfig struct { Dataplane *Dataplane json:dataplane,omitempty Controlplane *ControlPlane json:controlplane,omitempty Kafka *KafkaConfig json:kafka,omitempty }DataplaneinferHost、tls、skipSSLVerify、keyPath、crtPath、caPath模型推理数据平面的连接配置ControlPlaneschedulerHost、tls、keyPath、crtPath、caPath调度器等控制平面的连接配置Kafkabootstrap、namespace、topicPrefixKafka 集群连接配置。CLI 在执行model infer、model load、server list等操作时会通过 config.go 的LoadSeldonCLIConfig()读取当前active配置对应的 JSON 文件因此维护好配置索引的完整性这正是remove的职责直接影响 CLI 的可用性。完整生命周期示例下面用一个从零到删除的完整流程演示seldon config remove在配置管理闭环中的实际位置。1. 添加配置将某个配置文件以 key 登记到索引中详见 config_add.goseldon config add my-k8s-cluster ~/.config/seldon/cli/config.json2. 激活配置将该 key 设为当前生效配置详见 configs.go 的Activateseldon config activate my-k8s-cluster3. 查看配置索引输出为表格形式config、path、active三列活动项以*标记详见 configs.go 的listConfigsseldon config list预期输出类似config path active ------ ---- ------ my-k8s-cluster /home/user/.config/seldon/cli/config.json *4. 删除配置seldon config remove my-k8s-cluster执行后再次seldon config list该条目消失由于它此前是 active 配置active也会被自动置空CLI 将回退到空配置LoadSeldonCLIConfig()返回空的SeldonCLIConfig。5. 异常场景如果传入一个不存在的 keydelete操作在 Go 的 map 语义下是幂等无报错的命令依然会执行save()并正常返回这与activate/deactivateconfigs.go对不存在的 key 返回Config key %s not found错误的行为不同值得留意。小结seldon config remove key是 Seldon Core v2 CLI 配置管理中负责回收的命令它以严格的一个位置参数定位配置条目通过 configs.go 的Remove方法完成映射删除 活动状态清理 索引持久化三步操作且不会触碰配置文件实体本身。理解其与add、activate、deactivate、list的协作关系以及~/.config/seldon/cli/configs.json的存储格式即可在日常使用中安全地增删、切换多套集群配置。相关实现文件索引命令入口operator/cmd/seldon/cli/config_remove.go配置索引与删除逻辑operator/pkg/cli/configs.go单配置结构体定义operator/pkg/cli/config.go命令族文档docs-gb/cli/seldon_config.md赞分享人工智能大模型MLOpsLLMOps模型推理服务云原生后端【免费下载链接】seldon-coreAn MLOps framework to package, deploy, monitor and manage thousands of production machine learning models项目地址https://gitcode.com/gh_mirrors/se/seldon-core点击查看免费下载相关推荐Seldon Core 项目使用教程Seldon Core 项目使用教程 1. 项目目录结构及介绍 Seldon Core 是一个用于在 Kubernetes 上部署、监控和管理机器学习模型的开源人工智能大模型MLOpsLLMOps模型推理服务云原生后端Seldon Core 2服务网格集成终极指南Istio、Ambassador和Traefik配置详解Seldon Core 2服务网格集成终极指南Istio、Ambassador和Traefik配置详解 Seldon Core是一个强大的MLOps框架专门人工智能大模型MLOpsLLMOps模型推理服务云原生后端Seldon Core 2 CLI工具详解高效管理ML工作流的秘密武器Seldon Core 2 CLI工具详解高效管理ML工作流的秘密武器 Seldon Core 2 CLI工具是管理生产级机器学习工作流的终极解决方案它提供人工智能大模型MLOpsLLMOps模型推理服务云原生后端上一篇wp-calypso 开发服务器运行指南yarn start 与 yarn start-dashboard 的完整使用与实现原理下一篇7-Zip文件压缩工具开源压缩技术的全面解析与实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表