插件命名指南

本文档介绍为 kubectl 插件命名时的指南。

这些指南用于审查提交给 Krew的插件。

小写,加连字符

插件名称必须全部小写,并用连字符分隔单词。不要使用驼峰式、帕斯卡式或蛇形小写;使用kebab-case

  • 错误:kubectl OpenSvc
  • 正确:kubectl open-svc
具体说明

插件名称不应为通用、已过载的动词或名词,或可能被其他插件用于更广泛的目的。

  • 错误:kubectl login(太宽泛)
  • 正确:kubectl gke-login

还有

  • 错误:kubectl ui(仅应用于 Kubernetes 仪表盘)
  • 正确:kubectl gke-ui
独一无二

为你的插件找到一个唯一名称,以区别于执行类似功能的其他插件。

  • 错误:kubectl view-logs(与内置的“logs”命令或许多其他用于查看日志的工具有何不同尚不清楚)
  • 正确:kubectl tailer(唯一名称,指向底层工具名称)。
使用动词和资源类型

如果名称没有明确说明 (a) 插件对资源执行了什么动词,或者 (b) 它对哪种类型的资源执行操作,除非很明显,否则应考虑予以澄清。

  • 错误:kubectl service(与 service 一起执行什么操作不明确)。
  • 错误:kubectl open(插件打开什么不明确)
  • 正确:kubectl open-svc(插件将打开一个服务,这很明确)
为供应商标识符加前缀

使用供应商特定的字符串作为前缀,并用破折号分隔。这样更便于搜索/分组与特定供应商相关的插件。

  • 错误:kubectl ui-gke(在插件列表中更难搜索或定位)
  • 正确:kubectl gke-ui(将与其他 gke-* 插件一起显示)
避免重复 kube[rnetes]

插件名称不应包含“kube-”或“kubernetes-”前缀。

  • 错误:kubectl kube-node-admin(“kubectl ”中已包含“kube”)
  • **是:**kubectl node-admin

虽然不建议在插件命令名称中包含“kube*”,但建议代码仓库以“kubectl-”开头,以便在 krew 之外找到插件源代码,并且明确预期用途。

避免使用资源缩写和缩略语

使用 kubectl API 资源的缩写(例如 svc、ing、deploy、cm)会降低插件的可读性和可发现性,这比节省的几个按键更重要。

  • **否:**kubectl new-ing(不清楚插件用于 Ingress)
  • **是:**kubectl debug-ingress

注意:如果你对改进此指南有建议,请提出问题或发送请求提取,因为这是一个正在积极开发的主题。

← 开发人员指南