[ad_1]
Krew é um gerenciador de pacotes para Kubectl, a CLI oficial do Kubernetes. Com o Krew, você pode encontrar, instalar e atualizar plugins Kubectl que estendem a CLI com recursos adicionais.
O mecanismo de plug-in do Kubectl suporta vários métodos de instalação de plug-in. A maneira mais fácil é colocar plugins diretamente em um diretório que esteja em seu PATH
. Este é um processo manual que não oferece nenhuma maneira de atualizar o plug-in à medida que novas versões são lançadas.
Krew fornece funcionalidade comum 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.
equipe de instalação
Krew é uma ferramenta de código aberto que faz parte do projeto Kubernetes. No entanto, ele não vem 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 tarballs de distribuição contêm o binário Krew. Execute seu script de instalação para terminar de adicionar o Krew ao seu sistema:
$ ./krew-linux_amd64 install 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ê precisa atualizar seu PATH
para incluir Krew bin
diretório. Isso está dentro $KREW_ROOT
que geralmente é $HOME/.krew
. Os executáveis do plugin 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
domínio:
~$ kubectl krew krew is the kubectl plugin manager. You can invoke krew through kubectl: "kubectl krew [command]..." Usage: kubectl krew [command] ...
Atualização do índice do plug-in
Krew’s Plugin Index 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 update Updated the local copy of plugin index.
Instalação de plug-ins
a install
O comando adiciona novos plugins ao Kubectl. Você 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 install ctx Updated the local copy of plugin index. Installing plugin: ctx Installed 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 estiver concluída, você verá algumas informações básicas sobre o 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
Atualização para novas versões de plugins
Uma das maiores vantagens do Krew é seu sistema integrado de atualização de plugins. executando o upgrade
O comando atualizará o índice do pacote e atualizará todos os plug-ins instalados para a versão mais recente. Este processo é totalmente automático.
$ kubectl krew upgrade Updated the local copy of plugin index. ...
Você pode atualizar os plugins individualmente passando seus nomes para o upgrade
domínio:
$ kubectl krew upgrade ctx
Se você quiser remover um plug-in, forneça seu nome ao uninstall
domínio:
$ kubectl krew uninstall ctx
Krew irá certificar-se de que o plugin seja completamente removido do seu sistema.
a list
O comando exibe todos os seus plugins e suas versões instaladas:
~$ kubectl krew list 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. Corre upgrade
qualquer upgrade krew
irá buscar e instalar a versão mais recente do Krew antes que seus plugins sejam atualizados.
Pesquisa de plug-ins
a search
O comando permite que você navegue pelo índice de pacotes do Krew a partir do seu terminal.
~$ kubectl krew search cert-manager NAME DESCRIPTION INSTALLED cert-manager Manage cert-manager resources inside your cluster no
Depois de encontrar um plug-in de seu interesse, execute o info
Comando para obter mais informações sobre ele. Isso revela o número da versão atual do plug-in, um link para seu site e uma breve descrição fornecida pelo autor.
~$ kubectl krew info cert-manager NAME: cert-manager INDEX: default URI: https://github.com/jetstack/cert-manager/releases/download/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 official plugin accompanying cert-manger, a Kubernetes add-on to automate the management and issuance of TLS certificates. Allows for direct interaction with cert-manager resources e.g. manual renewal of Certificate resources.
Usando í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 de índice padrão do Krew é um modelo útil ao configurar o seu próprio.
Para adicionar um índice, passe o URL do seu repositório para o index add
domínio:
$ kubectl krew index add custom-index https://example.com/krew/index.git
Para referenciar plugins em seu índice, prefixe seus nomes com o nome do índice escolhido:
$ kubectl krew install custom-index/example-plugin
Quando nenhum prefixo é dado, Krew usa 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://example.com/krew/index.git" # Automatically resolved to the custom index $ kubectl krew install example-plugin
Publicando seus próprios plugins
É muito fácil distribuir seus próprios plugins aos usuários através do Krew. Primeiro você precisa criar um arquivo do conteúdo do seu plugin Kubectl, seja como .tar.gz
qualquer .zip
processos. Faça o upload para um local acessível publicamente: o site do seu projeto ou a página de lançamentos do GitHub são boas opções.
Escreva um manifesto do plugin Krew abaixo. 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 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 pushes para o índice público do Krew são aceitos criando um pull request em seu repositório que adiciona seu manifesto ao plugins
diretório.
conclusão
O Krew facilita a descoberta, instalação e gerenciamento de plug-ins do Kubernetes. É uma ferramenta útil e conveniente para quem usa 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-Manager em seu cluster, tail, que oferece streaming de log simplificado, pontuação para análise estática de seus objetos e ctx e ns para alternar mais rapidamente entre contextos e namespaces.
[ad_2]