Como começar com o Krew, o gerenciador de plugins Kubectl
![Como começar com o Krew, o gerenciador de plugins Kubectl Como começar com o Krew, o gerenciador de plugins Kubectl](https://www.howtogeek.com/wp-content/uploads/csit/2021/02/748108a6.jpg?height=200p&trim=2,2,2,2)
Krew é um gerenciador de pacotes para Kubectl, a CLI oficial do Kubernetes. Usando o Krew, você pode encontrar, instalar e atualizar plugins Kubectl que estendem a CLI com funcionalidades adicionais.
O mecanismo de plugins do Kubectl suporta vários métodos de instalação de plugins. A maneira mais simples é colocar plugins diretamente em um diretório que está em seu PATH
. Este é um processo handbook que não oferece nenhuma maneira de atualizar o plug-in à medida que novos lançamentos são publicados.
Krew fornece funcionalidades comuns de gerenciamento de pacotes para o ecossistema de plugins Kubectl. Ele mantém um índice público de pacotes conhecidos e também suporta índices de terceiros. O último permite que você publique plugins de forma privada dentro de uma organização ou equipe.
Instalando Krew
Krew é uma ferramenta de código aberto que faz parte do projeto Kubernetes. Porém, ele não vem junto com o Kubectl. Para começar a usar o Krew, você deve baixar e instalar manualmente a versão mais recente. As distribuições atuais do Krew funcionam com Kubectl v1.12 e posterior.
Os downloads estão disponíveis na página de lançamentos do GitHub do projeto. Os arquivos tar de distribuição contêm o binário Krew. Execute o script de instalação para terminar de adicionar o Krew ao seu sistema:
$ ./krew-linux_amd64 set up krew
Um script completo que baixa e instala automaticamente a distribuição correta do Krew para seu sistema está disponível na documentação.
Em seguida, você deve atualizar seu PATH
para incluir Krew bin
diretório. Este está localizado dentro $KREW_ROOT
que geralmente é $HOME/.krew
. Executáveis de plugins Kubectl que você instalar serão armazenados dentro do bin
subdiretório.
$ export PATH="$KREW_ROOT:-$HOME/.krew/bin:$PATH"
Agora você deve ser capaz de usar o Krew através do kubectl krew
comando:
~$ kubectl krew krew is the kubectl plugin supervisor. You'll invoke krew via kubectl: "kubectl krew [command]..." Utilization: kubectl krew [command] ...
Atualizando o índice do plug-in
O índice de plugins do Krew cataloga todos os plugins atualmente disponíveis que você pode instalar. Funciona de forma semelhante às listas de pacotes usadas pelos gerenciadores de pacotes no nível do sistema operacional, como apt
.
Atualize o índice periodicamente para que sua instalação do Krew tenha acesso às versões mais recentes de todos os plugins disponíveis:
$ kubectl krew replace Up to date the native replica of plugin index.
Instalando plug-ins
o set up
O comando adiciona novos plugins ao Kubectl. Ele pode instalar qualquer um dos plugins listados no índice do Krew. Krew se encarrega de baixar o plugin e registrá-lo no Kubectl.
$ kubectl krew set up ctx Up to date the native replica of plugin index. Putting in plugin: ctx Put in plugin: ctx ...
O Krew atualiza automaticamente seu índice de plugins antes da instalação, garantindo que você obtenha a versão mais recente do novo plugin. Quando a instalação for concluída, você verá algumas informações básicas do autor do plug-in na parte inferior da saída do comando.
Agora você pode usar os comandos do plugin através do kubectl
CLI:
$ kubectl ctx my-context
Atualizando para novas versões de plug-ins
Uma das maiores vantagens do Krew é seu sistema integrado de atualização de plugins. Executando o improve
O comando atualizará o índice do pacote e atualizará todos os seus plugins instalados para a versão mais recente. Este processo é totalmente automático.
$ kubectl krew improve Up to date the native replica of plugin index. ...
Você pode atualizar plugins individualmente passando seus nomes para o improve
comando:
$ kubectl krew improve ctx
Se você quiser remover um plugin, forneça seu nome ao uninstall
comando:
$ kubectl krew uninstall ctx
Krew irá garantir que o plugin seja completamente removido do seu sistema.
o listing
O comando mostra todos os seus plugins e suas versões instaladas:
~$ kubectl krew listing PLUGIN VERSION ctx v0.9.4 krew v0.4.3 ns v0.9.4
O próprio Krew aparece na lista de plugins e é suportado pelo sistema de atualização. Corrida improve
ou improve krew
irá buscar e instalar a versão mais recente do Krew antes que seus plugins sejam atualizados.
Procurando por plug-ins
o seek
O comando permite que você navegue no índice de pacotes Krew do seu terminal.
~$ kubectl krew seek cert-manager NAME DESCRIPTION INSTALLED cert-manager Arrange cert-manager assets inside of your cluster no
Depois de encontrar um plug-in de seu interesse, execute o data
comando para saber mais sobre isso. Isso revela o número da versão atual do plug-in, um hyperlink para seu website online e uma breve descrição fornecida pelo autor.
~$ kubectl krew data cert-manager NAME: cert-manager INDEX: default URI: https://github.com/jetstack/cert-manager/releases/obtain/v1.7.0/kubectl-cert_manager-linux-amd64.tar.gz SHA256: 73618617b9ec42994c3ea77bbc8be743e382501d42ad2ee7aeca0d32c15655c0 VERSION: v1.7.0 HOMEPAGE: https://github.com/jetstack/cert-manager DESCRIPTION: The reliable plugin accompanying cert-manger, a Kubernetes add-on to automate the control and issuance of TLS certificate. Permits for direct interplay with cert-manager assets e.g. handbook renewal of Certificates assets.
Como usar índices personalizados
Krew suporta índices personalizados que facilitam a instalação de plugins de suas próprias fontes. Índices são simplesmente repositórios Git com um plugins
pasta contendo manifestos YAML. Esses arquivos definem os plugins que estão disponíveis para instalação. A estrutura do índice padrão do Krew é um modelo útil quando você está configurando o seu próprio.
Para adicionar um índice, passe o URL do repositório para o index upload
comando:
$ kubectl krew index upload custom-index https://instance.com/krew/index.git
Para referenciar plugins em seu índice, prefixe seus nomes com o nome do índice escolhido:
$ kubectl krew set up custom-index/example-plugin
Quando nenhum prefixo é fornecido, Krew u.s.a. o default/
prefixo em vez disso. Isso sempre se refere ao índice de plugins embutido do Krew. Se você preferir direcionar nomes de plugins não prefixados para seu próprio índice, defina o KREW_DEFAULT_INDEX_URI
variável de ambiente para a URL do seu repositório:
$ export KREW_DEFAULT_INDEX_URI="https://instance.com/krew/index.git" # Robotically resolved to the tradition index $ kubectl krew set up example-plugin
Publicando seus próprios plugins
É bastante simples distribuir seus próprios plugins aos usuários by way of Krew. Primeiro você precisa criar um arquivo do conteúdo do seu plugin Kubectl, seja como um .tar.gz
ou .zip
Arquivo. Faça o add para um native acessível publicamente – o website online do seu projeto ou a página de lançamentos do GitHub são boas escolhas.
Escreva um manifesto de plugin Krew em seguida. Este é um arquivo YAML simples que fornece informações básicas sobre seu plug-in, como nome, descrição e versão atual. O manifesto também inclui a URL pública do seu arquivo de plug-in. Quando um usuário instala seu plugin, o Krew buscará seu arquivo na URL especificada no manifesto.
Depois de escrever seu manifesto, você pode enviá-lo para um repositório Git. Adicione esse repositório como um índice Krew personalizado para adicionar seu plug-in à sua instalação do Kubectl. Os envios para o índice público do Krew são aceitos criando um pull request para seu repositório que adiciona seu manifesto no plugins
diretório.
Conclusão
O Krew simplifica a descoberta, instalação e gerenciamento de plug-ins do Kubernetes. É uma ferramenta de conveniência útil para quem u.s.a. plugins Kubectl. O Krew oferece uma experiência completa de gerenciamento de pacotes que inclui índices privados personalizados para suas ferramentas internas.
O índice público contém mais de 180 plugins que cobrem todos os aspectos do gerenciamento do Kubernetes. Algumas opções populares incluem cert-manager, para trabalhar com objetos Cert-Supervisor em seu cluster, tail, oferecendo streaming de log simplificado, pontuação para análise estática de seus objetos e ctx e ns para agilizar a alternância entre contextos e namespaces.
Fonte da Notícia: www.howtogeek.com