11 ferramentas que tornam o Kubernetes melhor

11 ferramentas que tornam o Kubernetes melhor

Nem todas as plataformas de servidor, mesmo as mais poderosas e escaláveis, satisfazem todas as necessidades como são. Embora o Kubernetes funcione muito bem por conta própria, pode faltar as peças certas para ser completo. Você sempre encontrará um caso especial que ignora sua necessidade ou em que o Kubernetes não funcionará em uma instalação padrão, como suporte de banco de dados ou operação de CD.

É aqui que aparecem os add-ons, extensões e outras guloseimas para este orquestrador de contêineres, apoiados pela mais ampla comunidade. Neste artigo, haverá 11 das melhores coisas que encontramos. nós mesmos em Southbridge eles são muito interessantes e planejamos lidar com eles de forma prática - desmontá-los em parafusos e porcas e ver o que há dentro. Alguns deles complementarão perfeitamente qualquer cluster Kubernetes, enquanto outros ajudarão a resolver tarefas específicas que não são implementadas na distribuição típica do Kubernetes.

Gatekeeper: gerenciamento de políticas

Projeto Agente de política aberta (OPA) fornece a capacidade de criar políticas sobre pilhas de aplicativos em nuvem no Kubernetes, desde a entrada até a malha de serviço. Porteiro dá ao Kubernetes a capacidade nativa de impor políticas no cluster automaticamente e também fornece inspeção para quaisquer eventos ou recursos que violem a política. Tudo isso é tratado pelo mecanismo relativamente novo do Kubernetes, o gerenciador de admissão de Webhooks, que é acionado quando os recursos mudam. Com o Gatekeeper, as políticas OPA tornam-se outra parte do estado do seu cluster Kubernetes sem a necessidade de supervisão constante.

Gravidade: clusters portáteis do Kubernetes

Se você deseja implantar um aplicativo no Kubernetes, muitos aplicativos têm um gráfico Helm que orienta e automatiza esse processo. Mas e se você quiser pegar seu cluster Kubernetes "como está" e implementá-lo em outro lugar?

Gravidade tira instantâneos de clusters Kubernetes, seu registro para imagens de contêiner, bem como aplicativos em execução chamados "pacotes de aplicativos". Tal pacote, que é um arquivo regular .tar, pode replicar o cluster onde quer que o Kubernetes possa ser executado.

O Gravity também verifica se a infraestrutura de destino se comporta da mesma forma que a infraestrutura de origem e também se o ambiente Kubernetes no destino está disponível. A versão paga do Gravity também adiciona recursos de segurança, incluindo RBAC e a capacidade de sincronizar configurações de segurança em diferentes implantações de cluster.

A versão principal mais recente, Gravity 7, pode enviar uma imagem Gravity para um cluster Kubernetes existente, em vez de criar um cluster totalmente novo a partir da imagem. O Gravity 7 também pode funcionar com clusters instalados sem usar a imagem do Gravity. O Gravity também oferece suporte ao SELinux e funciona nativamente com o gateway Teleport SSH.

Kaniko: Construindo Contêineres em um Cluster Kubernetes

A maioria das imagens de contêiner é criada em sistemas fora da pilha de contêiner. No entanto, às vezes você precisa criar a imagem dentro de uma pilha de contêineres, como em algum lugar em um contêiner em execução ou em um cluster Kubernetes.

Kaniko constrói containers dentro de um ambiente container, mas sem depender de um serviço de conteinerização, como o Docker. Em vez disso, o Kaniko extrai o sistema de arquivos da imagem base, executa todos os comandos de construção do espaço do usuário sobre o sistema de arquivos extraído, tirando um instantâneo do sistema de arquivos após cada comando.

Nota: Kaniko está atualmente (maio de 2020, Aproximadamente. tradutor) não pode construir contêineres do Windows.

Kubecost: opções de custo inicial do Kubernetes

A maioria das ferramentas de administração do Kubernetes se concentra na facilidade de uso, monitoramento, compreensão do comportamento dentro de um pod e assim por diante. Mas que tal monitorar o custo - em rublos e copeques - associado ao lançamento do Kubernetes?

Kubecost processa os parâmetros do Kubernetes em tempo real, resultando em informações de custo atualizadas dos clusters em execução nos principais provedores de nuvem, exibidas em um painel com custo mensal por cluster. Os preços de RAM, tempo de CPU, GPU e subsistema de disco são divididos por componentes do Kubernetes (contêiner, pod, serviço etc.)

O Kubecost também rastreia o custo de recursos não pertencentes ao cluster, como os buckets do Amazon S3, embora isso seja limitado pela AWS. Os dados de custo podem ser enviados ao Prometheus para que você possa usá-los para alterar o comportamento do cluster programaticamente.

O uso do Kubecost é gratuito se você tiver 15 dias suficientes de dados de log. Para recursos adicionais, o preço começa em $ 199 mensais para monitorar 50 nós.

KubeDB: executando bancos de dados de batalha no Kubernetes

Os bancos de dados também são difíceis de executar de maneira espetacular no Kubernetes. Você encontrará operadores do Kubernetes para MySQL, PostgreSQL, MongoDB e Redis, mas todos eles têm desvantagens. Além disso, o conjunto de recursos típicos do Kubernetes não aborda diretamente a maioria dos problemas de banco de dados definidos.

KubeDBName ajuda você a criar suas instruções Kubernetes para gerenciamento de banco de dados. Executar backups, clonagem, monitoramento, instantâneos e criação de banco de dados declarativa são suas partes constituintes. Observe que o suporte ao recurso depende do banco de dados. Por exemplo, criar um cluster funciona para PostgreSQL, mas não para MySQL ( existe, como bem apontado dnbstd, Aproximadamente. tradutor).

Kube-monkey: Chaos Monkey para Kubernetes

O método mais livre de erros de teste de estresse é considerado avarias aleatórias. Essa teoria está no cerne do Chaos Monkey da Netflix, uma ferramenta de engenharia caótica que desliga aleatoriamente máquinas virtuais e contêineres de ambiente de produção para "incentivar" os desenvolvedores a construir sistemas mais resilientes. kube-macaco - implementação da mesma teoria básica de teste de estresse para clusters Kubernetes. Ele funciona eliminando módulos aleatoriamente no cluster que você designa e também pode ser configurado para executar em um intervalo de tempo específico.

Kubernetes Ingress Controller para AWS

O Kubernetes fornece um balanceador de carga externo e serviços de rede de cluster por meio de um serviço chamado Ingresso A AWS fornece recursos de balanceamento de carga, mas não os agrupa automaticamente com os mesmos recursos do Kubernetes. Kubernetes Ingress Controller para AWS fecha esta lacuna.

Ele gerencia automaticamente os recursos da AWS para cada entrada no cluster, criando balanceadores de carga para novos recursos de entrada e excluindo balanceadores de carga quando os recursos são removidos. Ele usa o CloudFormation para garantir que o estado do cluster permaneça consistente. Ele também oferece suporte às configurações do CloudWatch Alarm e gerencia automaticamente outros elementos usados ​​no cluster, como certificados SSL e EC2 Auto Scaling Groups.

Kubespray: instalação automática do Kubernetes

Kubespray automatiza a instalação de um cluster Kubernetes pronto para produção, desde a instalação em servidores de hardware até as principais nuvens públicas. Ele usa Ansible (Vagrant opcional) para iniciar a implantação e criar um cluster de alta disponibilidade do zero com sua escolha de complementos de rede (como Flannel, Calico, etc.) em sua escolha de distribuição Linux popular quando instalado em servidores de hardware.

Skaffold: desenvolvimento iterativo para Kubernetes

Andaime - uma das ferramentas do Google usadas para organizar CDs de aplicativos no Kubernetes. Assim que você faz alterações no código-fonte, o skaffold detecta isso automaticamente, começa a compilar e implantar e avisa se houver algum erro. O Skaffold é executado completamente no lado do cliente, portanto, pode haver pequenas nuances na instalação ou atualização. Ele pode ser usado com pipelines CICD existentes, bem como interagir com algumas ferramentas de construção externas, principalmente o Bazel do Google.

Teresa: A PaaS mais simples no Kubernetes

Teresa é um sistema de implantação de aplicativos que executa uma PaaS simples sobre o Kubernetes. Os usuários em equipe podem implantar e gerenciar seus próprios aplicativos. Isso facilita um pouco as coisas para quem confia nesse aplicativo e não quer lidar com o Kubernetes e todas as suas complexidades.

Inclinação: atualizações de contêiner de streaming para clusters Kubernetes

Inclinar, desenvolvido pela Windmill Engineering, monitora alterações em diferentes Dockerfiles e implanta progressivamente os contêineres apropriados no cluster Kubernetes. Em essência, permite atualizar o cluster de produção em tempo real simplesmente atualizando os Dockerfiles. O Tilt é construído dentro do cluster, o código-fonte é tudo o que precisa ser alterado. Você também pode tirar um instantâneo do estado do cluster e capturar as condições de erro diretamente do Tilt para compartilhar com os membros da equipe para depuração.

PS Todas essas ferramentas que temos repetidamente em Southbridge sondado com nossas mãos curiosas. Apresentar práticas reais já (espero!) nos intensivos offline em fevereiro. Base do Kubernetes 8 a 10 de fevereiro de 2021. E Kubernetes Mega 12 a 14 de fevereiro. Honestamente, também sentimos falta da atmosfera calorosa e energicamente carregada do aprendizado off-line. Não importa o quão avançadas sejam as tecnologias, elas não substituirão a comunicação humana ao vivo e uma atmosfera especial quando pessoas com ideias semelhantes se reunirem.

Fonte: habr.com

Adicionar um comentário