Nota perev. : O original deste texto foi escrito por Rob Scott, um dos principais engenheiros de SRE da ReactiveOps, que está por trás do desenvolvimento do projeto anunciado. Estamos muito próximos da idéia de validação centralizada do que está sendo implantado no Kubernetes, por isso estamos acompanhando com interesse essas iniciativas.
É com satisfação que apresento o
Polaris , um projeto de código aberto que ajuda a manter a integridade do cluster Kubernetes. Criamos o Polaris para automatizar algumas das melhores práticas usadas pelo ReactiveOps para manter a operação segura e confiável de clusters em um grande número de clientes. É hora de abrir o código.
Repetidas vezes, fomos testemunhas de como falhas aparentemente menores na configuração levavam a sérios problemas que impediam os engenheiros de dormir à noite. Algo bastante simples - por exemplo, a configuração de
solicitações de recursos perdida pelo esquecimento - pode interromper o dimensionamento automático e até mesmo levar as cargas de trabalho a ficarem sem recursos. Anteriormente, pequenas falhas na configuração levavam a interrupções na produção, mas agora o Polaris pode evitá-las completamente.
O Polaris ajuda a evitar problemas de configuração que afetam a estabilidade, confiabilidade, escalabilidade e segurança de seus aplicativos. Facilita a identificação de pontos fracos nas configurações de implantação e evita problemas futuros. Com o Polaris, você pode dormir profundamente, sabendo que os aplicativos são implantados usando um conjunto de padrões bem testados.
O Polaris tem dois componentes principais:
- um painel que fornece informações sobre a configuração correta das implantações existentes no cluster;
- Um webhook de teste experimental que impede a implantação de implantações, que não atendem ao padrão aceito.
Painel Polaris
O painel no Polaris foi criado para uma oportunidade simples e clara de ver o estado atual da implantação em Kubernetes e receber recomendações de melhorias. Ele fornece uma visão geral completa do cluster e também categoriza os resultados por categoria, espaço para nome e implantação.

Os padrões Polaris padrão são bastante altos, portanto, não se surpreenda se a classificação for menor do que o esperado. O principal objetivo do Polaris é estabelecer altos padrões e buscar uma excelente configuração padrão. Se a configuração proposta parecer muito rígida, poderá 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 verificação inclui um link para a documentação relevante, o que explica por que consideramos isso importante e fornece links para recursos adicionais sobre este tópico.
Polaris webhook
Se o painel o ajudar a obter uma visão geral da configuração de implantação atual, o gancho da Web garantirá a conformidade com os padrões de todas as implantações que serão implementadas apenas no cluster.
Depois que os problemas identificados pelo painel forem corrigidos, você poderá usar o gancho da Web para que a configuração nunca fique abaixo do padrão estabelecido. Um gancho da web não permitirá a implantação em um cluster de implantações cuja configuração contenha desvios significativos (do nível de "erro").
O potencial desse web hook é encorajador, mas ainda são necessários testes rigorosos para prepará-lo para a produção. Atualmente, esse é um recurso experimental e parte de um projeto de código aberto completamente novo. Como pode interferir nas atualizações de implantação, use-o com cuidado.
Introdução
Espero que, como você ainda esteja lendo este anúncio, o Polaris seja uma ferramenta que você possa achar útil. Deseja experimentar o Dashboard? A implantação de 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, faça:
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml
Agora você precisa configurar o encaminhamento de porta para acessar o painel pela 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 uso do Helm. Você pode aprender mais sobre isso e muito mais
no repositório Polaris no GitHub .
Este é apenas o começo.
Estamos satisfeitos por já termos conseguido integrar o Polaris, mas a história não termina aí. Há muitos novos testes no caminho que eu gostaria de adicionar para expandir a funcionalidade. Também estamos procurando a melhor maneira de implementar as regras de verificação de exceção no espaço para nome ou nível de recurso. Se você quiser obter mais informações sobre nossos planos, consulte o
roteiro .
Se você tem a impressão de que o Polaris pode ser útil, experimente. Estamos felizes em aceitar quaisquer idéias, comentários, perguntas ou solicitações de recebimento. Você pode entrar em contato conosco no
site do projeto , no
GitHub ou no
Twitter .
PS do tradutor
Leia também em nosso blog: