Turbine o Kubernetes com essas ferramentas incríveis

Este artigo apresentará algumas ferramentas incríveis que podem ser acopladas ao Kubernetes para adicionar mais poder a ele.

Ao trabalhar em um ecossistema de DevOps, você perceberá o quão importante é ter ferramentas incríveis de DevOps para facilitar sua carga manual. Muitas ferramentas de DevOps estão disponíveis para cada estágio de DevOps e diferentes funcionalidades.

O Kubernetes é um dos itens obrigatórios se você trabalha no domínio DevOps e executa seus aplicativos dentro de contêineres. Existem centenas de ferramentas por aí que funcionam em conjunto com o Kubernetes para adicionar mais recursos. Estou falando de ferramentas para melhor gerenciamento, segurança, dashboard, monitoramento do cluster Kubernetes.

Aqui está uma lista dessas ferramentas incríveis que adicionam mais poder ao seu Kubernetes.

Vamos começar!

Leme

Leme é um gerenciador de pacotes para Kubernetes que facilita a obtenção de aplicativos e serviços que são altamente repetíveis ou são usados ​​em muitos cenários diferentes, facilitando a implantação em um cluster típico do Kubernetes. Usando o Helm, você pode encontrar, compartilhar e usar o software criado para o Kubernetes.

Ele usa gráficos, chamados Helm Charts, para definir, instalar e atualizar aplicativos complexos do Kubernetes.

Características do elmo:

  • Cuida de toda a complexidade do aplicativo Kubernetes usando gráficos
  • Usa atualizações e ganchos personalizados para atualizar as coisas facilmente.
  • Os gráficos podem ser compartilhados facilmente em servidores públicos ou privados.
  • Reversão fácil com apenas um único comando
  • Melhora a produtividade do desenvolvedor e melhora a prontidão operacional

Sinalizador

Sinalizador é um operador de entrega progressiva para Kubernetes.

Ele automatiza a promoção de implantações canárias usando Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, roteamento Skipper para deslocamento de tráfego e Prometheus para análise canário. Na implantação canary, você distribui os lançamentos para um pequeno grupo de usuários, testa, se estiver funcionando bem, você distribui o lançamento para todos.

Ele usa a malha de serviço que é executada em seu cluster para gerenciar o tráfego entre uma implantação e outra. Para mudar o tráfego para canário, ele mede indicadores de desempenho como duração média das solicitações, taxa de sucesso das solicitações HTTP, integridade do pod etc.

O Flagger pode executar análise, promoção e reversão de aplicativos automatizados para várias estratégias de implantação, como Canary, testes A/B, implantação Blue/Green.

Kubewatch

Kubewatch é um observador Kubernetes de código aberto que envia uma notificação pelo canal do slack.

Ele é escrito em programação Go e desenvolvido pela Bitnami Labs. Ele é usado para monitorar os recursos do Kubernetes e notifica se houver alguma alteração.

Você pode instalar o Kubewatch por meio do kubectl ou usando gráficos de leme. É simples de entender e tem uma interface muito fácil de usar. Além do slack, ele também suporta HipChat, Mattermost, Flock, webhook e SMTP.

  Como compartilhar áudio do computador em zoom

Dependendo de qual Kubernetes você deseja monitorar, você pode definir true ou false para esses recursos no arquivo ConfigMap. Depois de definir a configuração do kubewatch e executar um pod, você começará a receber notificações sobre o evento do Kubernetes, conforme mostrado abaixo.

Gitkube

Gitkube é uma ferramenta que usa git push para construir e implantar imagens docker no Kubernetes. Ele tem três componentes – Remote, gitkube-controller, gitkubed. Remoto consiste em recursos personalizados que são gerenciados pelo gitkube-controller. gitkube-controller envia as alterações para o gitkubed, que então cria a imagem do docker e a implanta.

Recursos do Gitkube:

  • Fácil de instalar, plug and play
  • Fornece controle de acesso baseado em função para segurança
  • Simples de autenticar usando uma chave pública
  • Um namespace para multilocação é compatível
  • Sem dependências extras além de kubectl e git

kube-state-metrics

kube-state-metrics é um serviço que gera métricas de objeto de estado ouvindo o servidor da API Kubernetes. Ele é usado para verificar a integridade de vários objetos, como nós, pods, namespaces e implantações. Ele fornece dados brutos e não modificados da API do Kubernetes.

Abaixo estão as informações fornecidas pelo kube-state-metrics:

  • Cron jobs e status do job
  • Status dos pods (pronto, em execução etc.)
  • Solicitações de recursos e seu alcance
  • Capacidade do nó e seu status
  • Especificação de conjuntos de réplicas

Kamus

Kamus é uma ferramenta GitOps de código aberto que é usada para criptografia e descriptografia de segredos para aplicativos Kubernetes. Os segredos criptografados que o Kamus faz só podem ser descriptografados por aplicativos executados no cluster Kubernetes. Ele usa AES, Google Cloud KMS, Azure KeyVault para criptografia de segredos. Você pode começar com o Kamus usando o gráfico do leme.

Kamus vem com dois utilitários – Kamus CLI e Kamus init container. O Kamus CLI é usado para integração com a API de criptografia e o contêiner Kamus init é usado para integração com a descriptografia da API.

Os segredos simples do Kubernetes não são criptografados; eles são codificados em base64. Você não pode mantê-lo no Git como está; não é seguro. Qualquer pessoa que tenha acesso ao repositório poderá usar esses segredos. Portanto, é necessária uma solução de criptografia/descriptografia adequada, como Kamus. Ele também fornece um modelo de ameaça que cuida das ameaças e torna os segredos seguros.

Untrak

Untrak é uma ferramenta de código aberto usada no Kubernetes para encontrar recursos não rastreados e coletá-los como lixo. Ele ajuda você a encontrar e excluir esses arquivos do cluster, que não são rastreados.

Depois de injetar os manifestos em seu pipeline de CI/CD usando kubectl apply ou helm template, o Kubernetes não sabe quando o objeto será excluído do repositório. Depois que os objetos são excluídos, eles não são rastreados no processo de entrega e ainda residem no cluster Kubernetes.

Ele executa o comando internamente usando um arquivo de configuração simples untrak.yaml para descobrir recursos que não fazem mais parte do seu gerenciamento de código-fonte.

  58 principais dicas e tutoriais do ano de 2014

Alcance

Escopo de tecelagem é para visualizar, monitorar e solucionar problemas do Docker e do Kubernetes.

Ele mostra uma visão de cima para baixo de seu aplicativo em contêiner e a infraestrutura completa usando a qual você pode identificar facilmente quaisquer problemas e diagnosticá-los.

Executar aplicativos de arquitetura de microsserviço em contêineres docker não é tão fácil. Os componentes aqui são muito dinâmicos e difíceis de monitorar. Com o weave scope, você pode facilmente solucionar vazamentos de memória e controlar o consumo de CPU, visualizar gargalos de rede.

Características do escopo:

  • Ajuda você a monitorar seus contêineres docker em tempo real
  • Fornece navegação fácil entre os processos em execução nos contêineres
  • Mostra o host ou serviço de uso de CPU e memória
  • Reinicie, pare ou pause os contêineres usando a CLI sem sair da janela do navegador do escopo.
  • Suporta plugins personalizados para obter mais detalhes sobre contêineres, processos e hosts

Painel do Kubernetes

Painel do Kubernetes é uma interface web fornecida pelo Kubernetes. Ele é usado para implantar, solucionar problemas e gerenciar o aplicativo em contêiner em um cluster Kubernetes. Ele fornece todas as informações sobre um cluster, como detalhes sobre nós, namespaces, funções, cargas de trabalho etc.

Você pode usar gráficos de leme para implantar o painel do Kubernetes ou usar um comando kubectl simples mencionado abaixo:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

Kops

Kops significa operações do Kubernetes, um projeto de código aberto usado para configurar clusters do Kubernetes prontos para produção com muita facilidade e rapidez. Kops pode ser usado para implantar clusters Kubernetes principalmente na AWS e GCE.

Um cluster Kubernetes de tamanho pequeno é fácil de criar e manter, mas quando você dimensiona seu cluster, muitas configurações são adicionadas e fica difícil gerenciar operacionalmente. Kops é uma ferramenta que ajuda a resolver esses problemas. Ele segue uma abordagem orientada à configuração, onde mantém o cluster sempre atualizado e seguro.

Kops também tem muitos backends de rede, e escolher um deles, dependendo do caso de uso, facilita a configuração de vários tipos de clusters.

cConselheiro

cConselheiro é uma ferramenta de código aberto para monitorar um contêiner. Ele é usado para entender as características de desempenho e o uso de recursos dos contêineres em execução no cluster.

Ele opera no nível do nó e pode descobrir automaticamente todos os contêineres em execução em um nó específico e coleta estatísticas de memória, sistema de arquivos, CPU e rede. Ele fornece uma interface da Web que mostra os dados ao vivo de todos os contêineres no cluster.

Para começar com o cAdvisor, você precisa executar a imagem do docker google/cadvisor e, em seguida, pode acessá-lo em http://localhost:8080 em um navegador da web.

Kubespray

Kubespray é uma ferramenta gratuita que foi criada combinando os playbooks do Ansible e o Kubernetes. Ele é usado para o gerenciamento do ciclo de vida do cluster Kubernetes.

  Como aproveitar ao máximo o tempo livre em casa

Ao usar o Kubespray, você pode implantar um cluster rapidamente e personalizar todos os parâmetros de uma implementação de cluster, como modos de implantação, plug-ins de rede, configuração de DNS, versões de componentes, métodos de geração de certificados etc.

Ao executar apenas um simples ansible-playbook, seu cluster está funcionando. Você pode dimensionar ou atualizar facilmente seu cluster Kubernetes.

K9s

K9s é uma ferramenta baseada em terminal de código aberto, e seu utilitário de painel pode fazer tudo o que uma interface de usuário da Web do Kubernetes faz. Ele é usado para navegar, observar e gerenciar o aplicativo implantado no cluster Kubernetes.

Características do K9:

  • Acompanhe seu cluster em tempo real
  • Personalize a exibição por recurso
  • Aumente o zoom para problemas de recursos de cluster
  • Suporta controle de acesso baseado em função
  • Benchmarks integrados para validar o desempenho dos recursos

Kubetail

Kubetail é um script bash simples que é usado para agregar logs de vários pods em um fluxo.

Muito conveniente!

Ele ajuda você na depuração com facilidade.

A versão mais recente do Kubetail também possui recursos de destaque e filtragem. Esse recurso permite que você execute a coloração de logs. Usando o homebrew, você pode instalar o Kubetail com um único comando. Você pode adicionar valores padrão em variáveis ​​de ambiente que o Kubetail pode ler como KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS etc.

Selo Poderoso

Selo Poderoso é uma poderosa ferramenta de engenharia de caos de código aberto escrita em python para clusters Kubernetes.

A engenharia do caos é usada para obter a confiança do sistema para verificar sua capacidade de lidar com situações problemáticas na produção. Ele injeta falhas no cluster Kubernetes para identificar problemas o mais cedo possível.

Ele é inspirado no Netflix Chaos Monkey e é usado para melhorar a resiliência do Kubernetes. Usando o PowerfulSeal, os engenheiros conscientemente tentam quebrar as coisas no cluster para verificar como o sistema reage.

O PowerfulSeal funciona em três modos – Autônomo, Interativo, Etiqueta.

No modo autônomo, ele executa cenários lendo um arquivo de política que você fornece. No modo interativo, ele informa sobre os componentes do cluster que você tenta quebrar manualmente. No modo de rótulo, você elimina objetos direcionados no cluster, como pods, usando rótulos.

Popeye

Popeye é um utilitário de limpeza que atua como desinfetante 🧼 para clusters Kubernetes.

Ele examinará o cluster completo e relatará problemas relacionados a configurações e recursos. Ele ajuda você a executar as melhores práticas no cluster Kubernetes para evitar problemas comuns.

Este utilitário está disponível para Windows, Linux e macOS. Atualmente, ele funciona apenas com nós, pods, namespaces, serviços. Usando o Popeye, você pode identificar facilmente recursos mortos e não utilizados, incompatibilidades de porta, regras RBAC, utilização de métricas e muito mais.

Conclusão

As ferramentas de DevOps desempenham um papel vital no sucesso, e espero que as dicas acima ajudem você a gerenciar melhor o Kubernetes.