Cansado de digitar extensos e entediantes comandos de kubectl? Não consegue decorar os aliases criados pelos outros? Não aguenta mais criar scripts, funções e aliases sem sentido?
Seus problemas acabaram!
Chegou o incrível Auto Kubectl - https://github.com/caruccio/autokube
Com ele você digita (praticamente) todos os parâmetros do kubectl de forma super abreviada.
Impressione sua família e amigos digitando isso:
Ao invés disso:
Basta iniciar o comando com a letra k
que o resto é traduzido para os parâmetros correspondentes.
Por exemplo:
Algumas abreviações possuem parâmetros que são usados no comando final. Por exemplo,
n
exige um parâmetro com o namespace, el
exige um ou mais labels.
Mas o melhor de tudo é que você não precisa aprender a ordem. Cada abreviação é resolvida a partir de uma tabela pré-definida que mapeia um ou mais caracteres em um, ou mais parâmetros de kubectl. A única regra é seguir a sequência verbo -> recurso -> opção
.
A ordem dos parâmetros após o comando k...
respeita a ordem com que as abreviações aparecem nele. Sendo assim, o comando kgponl default app=web
se torna kubectl get pods --namespace=default -l=app=web
, enquanto o comando kgpoln app=web default
se torna kubectl get pods -l=app=web --namespace=default
. Note que n
e l
mudam de lugar, portanto seus parâmetros invertem a ordem na linha de comando.
Prefixos e Sufixos
Além dos parâmetros de kubectl, você pode usar prefixos e sufixos no comando final.
Por exemplo, para executar o kubectl com o comando time
na frente, use:
O comando final será:
Prefixos são definidos com o caractere -
e uma abreviação opcional. Já existem as seguintes opções nativas:
O prefixo -w
é tratado de forma especial, e permite que um valor para sua flag -n
seja definido junto a ele, no formato -w[N]
. Caso não seja definido, o valor padrão de [N]
é 2
.
Os comandos finais serão:
Sufixos podem ser utilizados da mesma forma, mas usando a abreviação +
. Os sufixos nativos são:
Prefixos e posfixos podem ser usados de forma conjunta:
Com o comando final sendo:
Instalação
Para instalar é simples. Basta baixar o repositório git e fazer o source do autokubectl.sh
.
Ele funciona como um hook
que executa quando um comando não é encontrado pelo shell em execução. Portanto, se já existe o comando/alias/função kgpo
, então este será executado no lugar do autokubectl
. Fica a seu critério decidir quais comandos deseja manter e quais quer executar via autokubectl
.
O comando acima clona o repositório para o diretório local (escolha um de sua preferência) e instala o source
no seu ~/.bashrc
, ~/.zshrc
. Se nenhum deles existir, o arquivo usado será ~/.profile
.
É necessário iniciar uma nova sessão de shell, ou para usar imediatamente execute source ~/.bashrc
(ou source ~/.zshrc
).
Caso deseje instalar no sistema operacional, execute o comando
Este último apenas copia os scripts necessário para /usr/local/bin
e /etc/profile.d
.
Configuração
Para criar ou alterar abreviações, basta adicioná-las aos arquivos /etc/autokubectl
ou ~/.autokubectl
. Estes arquivos são lidos sempre que o autokubectl é executado, e possuem validade imediata.
Agora você pode usar:
Com os comandos finais sendo:
Conclusão
Para mais detalhes sobre a importância de usarmos nossas ferramentas de forma mais ágil, consulte o artigo do Marcelo Melo em getup.io/blog/dicas-aliases.
Como vocês podem ver, existem mil maneiras de executar kubectl. Invente a sua!