自研能力 · 自动化与交付

klutch 离线交付辅助工具

面向受控离线交付的节点准备与批量操作工具,源码包含 SSH/SCP、反向文件分发和镜像加载;开发版不承担 Kubernetes 完整生命周期。

KubernetesLinux临时远程访问制品管理自动化

Overview

工具定位

klutch 是面向离线交付的节点环境准备与批量操作工具,采用 Bash 命令入口和 Go 核心。当前源码集中处理节点清单、SSH/SCP、临时 HTTP 反向文件分发、系统准备和容器镜像加载。它不是完整 Kubernetes 安装器,也不负责控制面初始化、节点加入、升级或集群灾备生命周期。

收录状态与源码依据

审阅日期:2026-09-08。产品源码 bin/VERSION:1 标记 v1.0.0-devcore/go.mod:3 声明 Go 1.23.12。此处是开发版源码审阅结果,不是正式发布或生产认证。没有执行程序、安装模块、初始化节点或分发文件;公开制品、仓库地址与目标环境运行记录未核实,站点版本和外部地址留空,体验关闭,项目标记为实验状态。

已有实现

  • 分组节点清单与 SSH 免密初始化:core/node.go:26
  • 批量 SSH 并发执行及逐节点输出:core/exec.go:55
  • SCP 推送、拉回和递归目录:bin/klutch-scp:70
  • 临时 HTTP 文件服务与目标节点反向拉取:bin/klutch-dist:69core/serve.go:28
  • 系统准备与检查:内核参数、时钟、主机名、系统依赖和资源限制等,依据 bin/klutch-init-agent:440
  • 镜像推送与导入:按可用命令选择 ctr 或 Docker,依据 bin/klutch-pushimage:66bin/klutch-loadimage:35
  • 模块框架:containerd 与 os-repo 存在实际安装脚本;不能把只有模块元数据的项目当作已完成安装能力。

尚未具备的能力

当前目录中的 docker、kubeadm、mysql、redis 只有模块描述,未见相应动作脚本;image list/diff/rm/prune/inspect 所需的路由目标脚本缺失。主入口未接受 uninstall;HTML 等多格式报告、断点续传和统一失败重试也未形成完整实现证据。不要照抄 README 的“12+ 模块”或完整镜像管理承诺。Kubernetes 的 kubeadm init/join 明确不在范围内,见 README.md:323

风险与实施边界

当前 --dry-run 并非全链路无副作用保障:部分安装路径强制上传并执行,见 bin/klutch-install:123。SSH 默认关闭主机密钥验证;临时 HTTP 文件服务没有认证并监听所有接口。系统准备还可能关闭防火墙或 SELinux,不可直接套用到生产安全基线。本工具应先在受控测试环境评审和验证,本站不提供生产安装或初始化的一键命令。

离线前必须准备匹配操作系统与架构的包、受控目标清单、授权 SSH 访问和足够空间;反向拉取需要节点可达控制机的临时 HTTP 服务。缺包路径可能联网或跳过,不保证自动完成全断网交付。macOS 使用者还需检查 Bash 版本与脚本语法兼容性。

建议验证流程与文档

先核实源码标记、主入口与实际动作脚本,再由实施负责人缩小到隔离测试节点;审核远端命令、文件路径、端口与权限,分别验证节点解析、最小只读命令、非敏感样例传输、完整性和清理结果。任何可能修改系统的动作均需单独变更审批和恢复方案,不因存在 dry-run 参数而降低审查要求。

DOUYA OPS ECOSYSTEM

探索豆芽自研工具

查阅工具能力、使用方法与实践文档;体验是否开放,以各工具页面的状态为准。