Imagens de Anthony Smith / Shutterstock.comCriamos o Kubernetes como um serviço em nuvem e monitoramos de perto as ferramentas mais recentes dos desenvolvedores de aplicativos de contêiner. Neste post, falaremos sobre ferramentas que facilitam bastante o trabalho com implantações do Kubernetes e ajudam a criar CI / CD.
Implantação de Cluster Kubernetes
Conjunto de funções possíveis para implantação e configuração do Kubernetes. O Kubespray é executado na AWS, GCE, Azure, Mail.Ru Cloud Solutions, OpenStack e IaaS bare metal. O Kubespray é um projeto de código aberto e de código aberto com o kubeadm sob seu capô.
Graças ao Kubespray, para criar recursos (máquinas virtuais, redes, balanceadores etc.) e a orquestração é suficiente para conhecer o Ansible, outras ferramentas não são necessárias. Se você está familiarizado com o Ansible, isso pode ajudá-lo bastante.
Custo : Grátis
Ferramenta de distribuição Kubernetes desde a versão 1.4. Ajuda a inicializar os clusters Kubernetes em suas melhores configurações em sua infraestrutura existente.
O Kubeadm não pode criar dinamicamente a infraestrutura necessária na nuvem. Sua principal vantagem é que ele pode executar clusters Kubernetes minimamente viáveis em qualquer ambiente. No entanto, complementos e configurações de rede não estão incluídos no Kubeadm, portanto, você deve configurar tudo manualmente ou usar outras ferramentas.
Custo : Grátis
Ajuda a criar, excluir, atualizar e manter os clusters de failover industrial do Kubernetes na linha de comando. Essa ferramenta suporta oficialmente o Amazon Web Services (AWS). O suporte ao GCE está em beta e o VMware vSphere está em alfa. Ele também planeja suportar outras plataformas, incluindo o OpenStack. O Kops permite controlar o ciclo de vida completo de um cluster Kubernetes - do provisionamento de infraestrutura à remoção de cluster.
Custo : Grátis.
Clusters Kubernetes como um serviço de nuvem. Com ele, você pode preparar um cluster para trabalhar em alguns minutos sem configurá-lo e atualizá-lo para a versão desejada. Os clusters são facilmente escaláveis e trabalham na infraestrutura do Mail.Ru, aprimorada para serviços altamente carregados.
O custo depende da configuração. Por exemplo, um ambiente de teste de dois nós e um mestre custa 3200 rublos por mês. Você pode testar gratuitamente.
Monitoramento
O console do terminal do cluster Kubernetes, com o qual você pode gerenciar o cluster e monitorar seu status em tempo real por meio da boa e antiga interface. O Kubebox mostra como os recursos da lareira estão envolvidos, monitora o cluster, mostra os logs de contêineres e assim por diante. Mesmo nele, você pode facilmente acessar o espaço para nome desejado e executar o comando no contêiner certo para solucionar rapidamente ou restaurar o trabalho.
Custo : Grátis.
Fornece uma interface do usuário para análise de desempenho. Agrega e resume métricas de várias fontes, mostra aos administradores dados analíticos de alto nível. O Kubedash usa o Heapster como uma fonte de dados, que é executada como o serviço padrão em todos os clusters do Kubernetes e coleta métricas e análises em cada contêiner.
Custo : Grátis.
Interface do usuário de código aberto para Kubernetes, que pode ser usada em vez do console nativo do kubectl. A ferramenta é interessante não apenas para desenvolvedores, mas também para gerentes de projeto, pois ajuda a monitorar projetos em execução no cluster Kubernetes em uma interface intuitiva. A ferramenta permite gerenciar aplicativos em execução, integra-se aos pipelines de CI / CD. A interface do usuário do Containerum será especialmente útil para aqueles que estão apenas dominando o Kubernetes.
Custo : Grátis.
Um pequeno script bash para agregar os logs de muitas lareiras em um único encadeamento. A versão original do Kubetail não sabe como filtrar ou selecionar, mas no Github há um fork separado que pode colorir logs usando o MultiTail.
Custo : Grátis.
Uma ferramenta para solucionar problemas e monitorar clusters do Docker Swarm e Kubernetes. O Weave Scope gera automaticamente topologias e arquiteturas de aplicativos, o que ajuda a encontrar gargalos de aplicativos. Você pode implantar o Weave Scope como um aplicativo independente em um servidor ou laptop local ou usá-lo como SaaS na Weave Cloud. Com a ajuda do Weave Scope, é fácil agrupar, filtrar e pesquisar contêineres por nome, rótulo, consumo de recursos. Funcionalidade inesperadamente útil: você pode efetuar login nos nós do Kubernetes como um usuário root no console da web sem acessar via ssh.
Custo : modo offline - gratuito; versão SaaS padrão - US $ 30 / mês. por nó (30 dias de teste); versão corporativa - US $ 150 / mês. por nó.
Uma ferramenta de monitoramento e notificação de código aberto inspirada no Google Borg Monitor. O Prometheus permite criar suas próprias métricas (existe integração com todas as linguagens de programação populares) e também contém um grande número de integrações prontas (exportadoras) com várias tecnologias: PostgreSQL, MySQL, AWS Cloudwatch, ETCD e Kubernetes.
Prometeu se tornou o padrão de monitoramento de fato para o Kubernetes. Existe um
operador Prometheus especial que permite criar instâncias do Prometheus nos clusters do Kubernetes, incluindo forte integração com o Grafana e o Alertmanager.
Custo : Grátis
Operador Kubernetes para
Icinga . O Searchlight executa periodicamente verificações nos clusters do Kubernetes e, se algo der errado, envia um e-mail, SMS ou bate-papo. O Searchlight inclui um conjunto de testes padrão especificamente para o Kubernetes.
O Searchlight estende os recursos de monitoramento do Prometheus como um serviço externo de monitoramento de caixa preta e serve como um sistema de backup no caso de uma falha completa dos sistemas internos.
Custo : Grátis.
Painel do sistema somente leitura que pode funcionar com muitos clusters Kubernetes. Usando o Kube-ops-view, você pode navegar facilmente entre clusters, nós de faixa e o status das lareiras. O Kube-ops-view anima alguns processos, como criar e destruir lareiras. A ferramenta também usa o Heapster como fonte de dados.
Custo : Grátis.
Segurança
A Aquasec protege as instalações da Kubernetes durante todo o seu ciclo de vida. Em cada contêiner, a solução implanta um agente dedicado que atua como um firewall e elimina furos na segurança do contêiner. O agente interage com o console de gerenciamento central da Aquasec, que gerencia as restrições de segurança. A Aquasec também ajuda a configurar um pipeline flexível para implementar mecanismos de segurança em ambientes na nuvem e no local.
Outra ferramenta de código aberto está associada ao Aquasec - Kube-Bench, que verifica o ambiente Kubernetes em uma longa lista de testes do documento CIS Kubernetes Benchmark.
Custo : US $ 0,29 por digitalização.
Outra ferramenta que atua como um firewall de aplicativo baseado em nuvem (Cloud Native Application Firewall) e analisa o tráfego de rede entre contêineres e serviços. O Twistlock analisa o comportamento padrão dos contêineres e gera regras com base nesse comportamento, para que os administradores não precisem criar regras manualmente. O Twistlock também suporta o CIS Benchmark para Kubernetes, começando na versão 2.2.
Custo : de US $ 1700 para uma licença anual, há um período de teste.
Um componente da plataforma Sysdig Container Intelligence é uma solução independente. Fornece visibilidade do contêiner e integra-se às ferramentas de orquestração, incluindo Kubernetes, Docker, AWS ECS e Apache Mesos. Graças ao Sysdig Secure, um usuário pode implementar políticas com reconhecimento de serviço, bloquear ataques, analisar histórico e monitorar o desempenho do cluster. O Sysdig Secure está disponível como um aplicativo na nuvem e no local.
Custo : Grátis para uso offline. O preço da versão Pro para a nuvem e na forma de software depende da configuração.
Um serviço que avalia como os recursos do Kubernetes aproveitam os recursos de segurança. O Kubesec.io verifica as configurações de recursos para obter as melhores práticas. O usuário recebe controle total e recomendações para melhorar a segurança geral do sistema. O site do projeto possui muitos links para fontes externas sobre segurança de contêiner e Kubernetes.
Custo : Grátis
Utilitários úteis
Gerador de alias muito simples, mas incrivelmente poderoso para o kubectl. Permite que você escreva comandos muito mais rapidamente para a administração diária do Kubernetes, fornecendo mais de 800 aliases curtos para todas as ocasiões.
Custo: Grátis.
Painel para gerenciamento remoto de clusters Kubernetes a partir de um dispositivo móvel (Android e iOS). Com o Cabin, você pode gerenciar aplicativos, escalar a implantação e solucionar problemas de um cluster. Ajuda os operadores de cluster Kubernetes a responder rapidamente a incidentes de qualquer lugar.
Custo : Grátis.
Um pequeno utilitário de código aberto que complementa a funcionalidade do Kubectl, facilitando a alternância de contextos e a conexão com vários clusters do Kubernetes ao mesmo tempo. O Kubens permite navegar entre os namespaces do Kubernetes. Ambas as ferramentas oferecem suporte ao preenchimento automático nas conchas bash / zsh / fish.
Custo : Grátis.
Ajuda a trabalhar mais rápido com o kubectl. Fornece preenchimento automático de equipes e oferece opções. Pode até pesquisar e corrigir comandos digitados incorretamente. O Kube-shell exibe ajuda em linha sobre os comandos que são executados.
Custo : Grátis.
Kail é a abreviação de Kubernetes Tail. Essa ferramenta funciona com os clusters do Kubernetes e ajuda a rastrear os logs do Docker para os lares certos. O Kail permite filtrar os pods por serviço, implantação, rótulo e outros parâmetros. Os pods serão adicionados automaticamente ao log (ou excluídos de lá) após o lançamento, se atenderem aos critérios de filtragem.
Custo : Grátis.
Ferramentas de CI / CD
O servidor CI / CD de código aberto mais popular do mundo. Para ele, existe um
plug-in gratuito que permite implantar aplicativos no Kubernetes, realizar suas atualizações contínuas (atualizações consecutivas para minimizar o tempo de inatividade), além de implementar atualizações de implantação verde / azul.
Esta postagem fornece um cenário detalhado dessa configuração.
Custo : Grátis.
Serviço popular de CI / CD da equipe JetBrains. Com
esse plug-in, você pode usar a infraestrutura de cluster do Kubernetes para executar os agentes de criação do TeamCity. O plug-in suporta o TeamCity versão 2017.1.xe posterior.
Custo : até três agentes de construção e 100 configurações de construção gratuitamente. $ 299 por uma licença que permita usar um agente de construção adicional e 10 configurações de construção adicionais.
Visualização e controle
Interface web genérica para clusters Kubernetes. O uso desse painel de controle nativo é muito mais fácil para solucionar problemas e monitorar clusters. Para acessar o painel, você precisa criar um canal proxy seguro entre sua máquina e o servidor da API Kubernetes. O painel nativo do Kubernetes conta com a ferramenta de coleta de dados Heapster, portanto, ele deve ser instalado no sistema. Apesar do fato de o Heapster não ser oficialmente recomendado para uso (descontinuado), uma alternativa completa a ele ainda não existe.
Custo : Grátis.
Interface da Web para o diretório de aplicativos nos clusters do Kubernetes. Permite instalar, atualizar e remover gráficos do Helm com o clique de um botão, sem usar a linha de comando.
Custo : Grátis.
No próximo post, falaremos sobre ferramentas avançadas para desenvolvedores.