curl -O https://raw.githubusercontent.com/kuberenetes-learning/kubectl-plugin-demo/master/kubectl-foo
sudo chmod +x ./kubectl-foo
sudo mv ./kubectl-foo /usr/local/bin
kubectl foo
- 可执行文件
- 名称以
kubectl-
开头,命令以-
来分割,比如kubectl gpu version
的可执行文件名称是kubectl-gpu-version
。命令名称中如果包含-
,用_
表示,比如kubectl gpu-version
的可执行文件名称是kubectl-gpu_version
- 可执行文件位于
PATH
路径下 - 不能和
kubectl
命令或者子命令重复,比如kubectl version
-
Kubectl查找时按照最长匹配原则,比如存在
kubectl-gpu
和kubectl-gpu-version
,那么输入kubectl gpu verson
时执行的是kubectl-gpu-version
。 -
运行命令名称重复,但是只有一个会执行,具体哪个可以通过
kubectl plugin list
查看
kubectl plugin list
The following kubectl-compatible plugins are available:
/usr/local/bin/plugins/kubectl-foo
/usr/local/bin/moreplugins/kubectl-foo
- warning: /usr/local/bin/moreplugins/kubectl-foo is overshadowed by a similarly named plugin: /usr/local/bin/plugins/kubectl-foo
error: one plugin warning was found