GEEKS

Como começar com o Krew, o gerenciador de plugins Kubectl

Como começar com o Krew, o gerenciador de plugins Kubectl

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

Artigos relacionados

Botão Voltar ao topo