Foi apresentado o Polaris para manter clusters Kubernetes saudáveis

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.

Foi apresentado o Polaris para manter clusters Kubernetes saudáveis

É com prazer que apresento Polaris — 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:

  1. um painel de monitoramento que fornece informações sobre quão bem configuradas estão as implantações existentes no cluster;
  2. 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.

Foi apresentado o Polaris para manter clusters Kubernetes saudáveis

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.yaml

Agora você precisa configurar o encaminhamento de portas para acessar o Dashboard pela porta local 8080:

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

Claro, existem muitas outras maneiras de usar e implantar o Polaris, inclusive usando Helm. Você pode aprender sobre isso e muito mais. repositório Polaris no GitHub.

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 roteiro.

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 site do projeto, neste teste de 2015 GitHub ou para Twitter.

P.S. do tradutor

Confira também em nosso blog:

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster