在 Krew 上分发插件

为什么使用 Krew 进行分发?

表面上,安装 kubectl 插件似乎很简单,您需要做的就是将可执行文件放在用户的 PATH 中,并以 kubectl- 为前缀,您可能会考虑一些 Krew 的其他替代方案,例如

  • 让用户手动下载插件可执行文件,并将其移动到 PATH 中的某个目录
  • 使用操作系统包管理器分发插件可执行文件,例如 Homebrew(macOS)、apt/yum(Linux)或 Chocolatey(Windows)
  • 使用语言包管理器(例如 npm 或 go get)分发插件可执行文件

虽然这些方法并非完全不可行,但值得考虑的潜在缺点包括

  • 如何在手动安装时为用户获取更新
  • 如何在多个平台(macOS、Linux 和 Windows)打包插件
  • 如何确保您的用户拥有合适的语言包管理器(go、npm)
  • 如何处理实现语言的更改(例如从 npm 迁移到另一个包管理器)

Krew 为所有 kubectl 插件干净地解决了这些问题,因为它被设计 专门来解决这些缺点。使用 Krew,在您编写插件清单后,您的插件将可以在所有平台上安装,而不必处理它们的包管理器。

入门步骤

一旦你 开发 了一个 kubectl 插件,请按照以下步骤在 Krew 上分发您的插件

  1. 将您的插件打包到一个归档文件中 (.tar.gz.zip)。
  2. 使归档文件公开可用(例如,作为 GitHub 发布文件)。
  3. 编写一个 Krew 插件清单 文件。
  4. 将您的插件提交到 krew-index.
← 开发者指南