Nota do tradutor.: O original deste texto foi escrito por Rob Scott — engenheiro SRE da ReactiveOps, a empresa responsável pelo projeto anunciado. A ideia de validação centralizada do que é implantado no Kubernetes nos atrai muito, por isso, estamos acompanhando de perto iniciativas como essa.

É com prazer que apresento — um projeto de código aberto que ajuda a manter a «saúde» do cluster Kubernetes. Criamos o Polaris para automatizar algumas das melhores práticas utilizadas na ReactiveOps para manter a operação segura e confiável de clusters para muitos clientes. É hora de abrir o código.
Vez após vez, fomos testemunhas de como, aparentemente, pequenas falhas na configuração causavam problemas sérios, que impediam os engenheiros de dormir à noite. Algo muito simples — como uma configuração de solicitação de recursos esquecida (resource requests) — poderia quebrar a escalabilidade automática e até deixar as cargas de trabalho sem recursos. Se anteriormente pequenas falhas na configuração causavam interrupções na produção, agora o Polaris permite evitá-las completamente.
O Polaris ajuda a evitar problemas de configuração que afetam a estabilidade, confiabilidade, escalabilidade e segurança de suas aplicações. Ele permite identificar facilmente deficiências nas configurações de implantações e prevenir problemas futuros. Com o Polaris, você pode dormir tranquilo, sabendo que suas aplicações estão implementadas de acordo com um conjunto de padrões bem testados.
O Polaris é composto por dois componentes principais:
- um painel de monitoramento que fornece informações sobre quão bem configuradas estão as implantações existentes no cluster;
- um webhook de verificação experimental que impede a implementação de implantações que não atendem aos padrões estabelecidos.
Painel do Polaris
O painel no Polaris foi criado para oferecer uma maneira simples e visual de ver o estado atual das implantações no Kubernetes e obter recomendações para melhorias. Ele fornece uma visão geral completa do cluster, além de dividir os resultados por categorias, namespaces e implantações.

Os padrões estabelecidos no Polaris por padrão são bastante altos, então não se surpreenda se a avaliação ficar abaixo do que você esperava. O principal objetivo do Polaris é estabelecer altos padrões e se esforçar por uma configuração padrão excelente. Se a configuração proposta parecer muito rígida, ela pode ser ajustada durante o processo de configuração do deployment, otimizando para cargas de trabalho específicas.
Na publicação do Polaris, decidimos não apenas apresentar a ferramenta em si, mas também descrever detalhadamente os testes que ela inclui. Cada verificação inclui um link para a documentação correspondente, onde explicamos por que consideramos isso importante e fornecemos links para recursos adicionais sobre o tema.
Webhook do Polaris
Enquanto o painel de monitoramento ajuda a obter uma visão geral da configuração atual dos deployments, o webhook garante a conformidade dos padrões para todos os deployments que estão sendo implantados no cluster.
Depois que os problemas identificados pelo painel de monitoramento forem corrigidos, é possível usar o webhook para garantir que a configuração nunca caia abaixo do padrão estabelecido. O webhook não permitirá implantações no cluster cuja configuração contenha desvios significativos (nível 'erro').
O potencial deste webhook é inspirador, no entanto, para que possa ser considerado pronto para produção, será necessário um teste cuidadoso. No momento, é um recurso experimental e parte de um novo projeto Open Source. Como ele pode interferir nas atualizações dos deployments, use-o com cautela.
Início
Espero que, já que você ainda está lendo este anúncio, o Polaris seja uma ferramenta que pode ser útil para você. Quer tentar o Dashboard por conta própria? Implantar o painel no cluster é muito fácil. Ele é instalado com permissões mínimas (somente leitura), e todos os dados permanecem internos. Para implantar o Dashboard usando kubectl, execute:
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yamlAgora você precisa configurar o encaminhamento de portas para acessar o Dashboard pela porta local 8080:
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80Claro, existem muitas outras maneiras de usar e implantar o Polaris, inclusive usando Helm. Você pode aprender sobre isso e muito mais. .
Isto é apenas o começo
Estamos animados com o que já conseguimos incorporar ao Polaris, mas a história não termina aqui. Muitos novos testes estão a caminho, que gostaríamos de adicionar para expandir a funcionalidade. Também estamos buscando a melhor forma de implementação nas regras de verificação de exceções em nível de espaços de nomes ou recursos. Se desejar mais informações sobre nossos planos, consulte o .
Se você teve a impressão de que o Polaris pode ser útil — por favor, reserve um tempo para experimentá-lo. Ficaremos felizes em receber qualquer ideia, feedback, pergunta ou pull requests. Você pode nos contatar em , neste teste de 2015 ou para .
P.S. do tradutor
Confira também em nosso blog:
- «»;
- «»;
- «»;
- «».
Fonte: habr.com
