Это можно сделать, создав и добавив плагин в kubectl.
Вы можете написать плагин на любом языке программирования или сценарии, который позволяет писать команды командной строки.
Установка или предварительная загрузка плагина не требуется.Исполняемые файлы плагина получают унаследованную среду из двоичного файла kubectl
.Плагин определяет, какой путь команды он хочет реализовать, основываясь на его имени.Например, плагин, желающий предоставить новую команду kubectl foo
, будет просто назван kubectl-foo
и будет жить где-то в ПУТИ пользователя.
Пример плагина может выглядеть следующим образом:
#!/bin/bash
# optional argument handling
if [[ "$1" == "version" ]]
then
echo "1.0.0"
exit 0
fi
# optional argument handling
if [[ "$1" == "config" ]]
then
echo $KUBECONFIG
exit 0
fi
echo "I am a plugin named kubectl-foo"
После этого вы просто делаете его исполняемым chmod +x ./kubectl-foo
и перемещаете его по своему пути mv ./kubectl-foo /usr/local/bin
.
Теперь вы сможете вызвать его по kubectl foo
:
$ kubectl foo
I am a plugin named kubectl-foo
Все аргументы и флаги передаются исполняемому файлу как есть:
$ kubectl foo version
1.0.0
Вы можете узнать больше о плагинах kubectl внутри Kubernetes Расширить kubectl с помощью плагинов Документация.