Polaris introduzido para manter os clusters do Kubernetes íntegros

Observação. trad.: O original deste texto foi escrito por Rob Scott, o principal engenheiro de SRE da ReactiveOps, que está por trás do desenvolvimento do projeto anunciado. Estamos muito próximos da ideia de validação centralizada do que é implantado no Kubernetes, por isso acompanhamos com interesse tais iniciativas.

Polaris introduzido para manter os clusters do Kubernetes íntegros

Feliz em apresentar Polaris é um projeto de código aberto que ajuda a manter a "saúde" de um cluster Kubernetes. Construímos o Polaris para automatizar algumas das melhores práticas usadas pelo ReactiveOps para manter os clusters em execução com segurança e confiabilidade para um grande número de clientes. É hora de abrir o código.

Vez após vez, vimos como falhas de configuração aparentemente menores levam a sérios problemas que impedem os engenheiros de dormir à noite. Algo muito simples - por exemplo, a configuração de requisições de recursos que foi negligenciada por esquecimento (pedidos de recursos) - poderia interromper o escalonamento automático e até levar ao fato de que as cargas de trabalho ficaram sem recursos. Se antes, pequenos descuidos na configuração levavam a interrupções na produção, agora o Polaris permite evitá-los completamente.

O Polaris ajuda a evitar problemas de configuração que afetam a estabilidade, confiabilidade, escalabilidade e segurança de seus aplicativos. Isso facilita a identificação de pontos fracos nas configurações de implantação e evita problemas futuros. Com o Polaris, você pode dormir tranquilamente sabendo que os aplicativos são implantados usando um conjunto de padrões bem testados.

Polaris é composto de dois componentes principais:

  1. um painel que fornece informações sobre como as implantações existentes no cluster estão configuradas;
  2. um webhook de teste experimental que impede a implantação de implantações que não atendem ao padrão aceito.

Painel Polaris

O Polaris Dashboard foi criado para fornecer uma maneira simples e visual de ver o status atual das implantações do Kubernetes e obter recomendações para melhorias. Ele fornece uma visão geral completa do cluster e divide os resultados por categoria, namespace e implantação.

Polaris introduzido para manter os clusters do Kubernetes íntegros

Os padrões padrão definidos pelo Polaris são bastante altos, portanto, não se surpreenda se a pontuação for menor do que o esperado. O principal objetivo do Polaris é definir padrões elevados e buscar uma ótima configuração padrão. Se a configuração proposta parecer muito rígida, ela pode ser corrigida durante o processo de configuração da implantação, otimizando para cargas de trabalho específicas.

Como parte da publicação Polaris, decidimos não apenas apresentar a ferramenta em si, mas também descrever detalhadamente os testes incluídos nela. Cada revisão inclui um link para a documentação relevante explicando por que achamos que é importante e links para recursos adicionais sobre o tópico.

Webhook Polaris

Se o painel ajudar você a obter uma visão geral da configuração atual das implantações, o webhook impõe padrões para todas as implantações que serão lançadas apenas no cluster.

Depois que os problemas identificados pelo painel são corrigidos, um webhook pode ser usado para garantir que a configuração nunca mais fique abaixo do padrão estabelecido. O webhook não permitirá a implantação de implantações no cluster cuja configuração contenha desvios significativos (do nível de “erro”).

O potencial desse webhook é encorajador, mas ainda precisa de testes extensivos para ser considerado pronto para produção. Atualmente, é um recurso experimental e parte de um novo projeto de código aberto. Como ele pode interferir nas atualizações de implantação, use-o com cuidado.

Introdução

Espero que, enquanto você ainda estiver lendo este anúncio, o Polaris seja uma ferramenta útil para você. Quer experimentar o Dashboard você mesmo? Implantar um painel em um cluster é muito fácil. Ele é instalado com direitos mínimos (somente leitura) e todos os dados permanecem dentro. Para implantar o Dashboard usando o kubectl, execute:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Agora você precisa configurar o encaminhamento de porta para acessar o Dashboard através da porta local 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Obviamente, existem muitas outras maneiras de usar e implantar o Polaris, incluindo o Helm. Você pode aprender sobre isso e muito mais em Repositório Polaris no GitHub.

Isto é apenas o começo.

Estamos entusiasmados com o que construímos no Polaris até agora, mas a história não termina aí. Existem muitos novos testes no caminho que gostaria de adicionar para expandir a funcionalidade. Também estamos procurando uma maneira melhor de implementar regras de verificação de exceção no namespace ou no nível do recurso. Para mais informações sobre nossos planos, consulte roteiro.

Se você tem a impressão de que o Polaris pode ser útil, reserve um tempo para experimentá-lo. Aceitamos qualquer ideia, feedback, perguntas ou pull request. Você pode entrar em contato conosco em site do projetoEm GitHub ou Twitter.

PS do tradutor

Leia também em nosso blog:

Fonte: habr.com

Adicionar um comentário