Rancher


Conheça o Rancher, e simplifique bastante a gerência dos seus clusters Kubernetes!


Objetivos do post:

  • Apresentar a ferramenta Rancher

O que é Rancher?

Logo do Rancher
Figura 1 - Logo do Rancher

A principal função do Rancher é permitir o gerenciamento de clusters Kubernetes. Se você nunca ouviu falar sobre Kubernetes, ou não conhece muito bem, uma rápida explicação. O Kubernetes permite a definição de um cluster, ou seja, um agrupamento de máquinas, para permitir a execução de containers Docker, conforme a imagem a seguir:

Cluster com 3 máquinas para execução de containers Docker
Figura 2 - Cluster com 3 máquinas para execução de containers Docker

Nessa imagem temos três servidores: 1, 2 e 3. O Kubernetes permite a comunicação entre eles, mas não somente isso. Ele também é responsável por:

  • continuamente verificar se todos os servidores estão se comunicando adequadamente
  • iniciar e finalizar containers
  • gerenciar segredos e configurações
  • fazer balanceamento de carga entre os serviços rodando no cluster
  • gerenciar volumes e certificados SSL
  • escalar serviços
  • monitorar aplicações com healthchecks

Entre outras funcionalidades. Então, por exemplo, imagine que exista um container com o servidor do Tomcat sendo executado para disponibilizar a sua aplicação no servidor 2, e que por algum motivo, este não consiga mais se contactar com os demais nós do cluster.

Nessa situação, o Kubernetes detecta que o servidor 2 não está mais respondendo, e automaticamente inicia um container igual ao que estava no servidor 2 em um dos demais servidores (1 ou 3), considerando, por exemplo, a quantidade de memória e processamento disponível neles. Com isso, a sua arquitetura fica muito mais flexível e resiliente a falhas.

Entretanto, apesar de todo o seu poder, por padrão o Kubernetes não vem com nenhuma interface gráfica, portanto, inicialmente a sua gerência é realizada exclusivamente por linha de comando, o que pode afastar pessoas menos adaptadas a esse modo de trabalho. Existem algumas ferramentas que podem ser instaladas, como, por exemplo, a Dashboard, porém elas apresentam menos recursos do que o Rancher.

Com o Rancher, a própria definição de um cluster Kubernetes fica simplificada, uma vez que ele já fornece o comando necessário para agregar uma máquina nova ao cluster. Além disso, apresenta muitos outros recursos:

  • Catálogo de aplicações para instalação no cluster
  • Configuração simplificada de monitoramento dos nós e das aplicações
  • Envio dos logs dos containers para ferramentas como Elasticsearch, Kafka e Fluentd
  • Configuração simplificada de alertas e envios de mensagens
  • Autenticação e autorização de usuários (aceita Active Directory e OpenLDAP)
  • Definição de projetos para organização dos namespaces do Kubernetes

Além de todas essas funcionalidades, o Rancher ainda apresenta uma interface bem intuitiva e agradável visualmente, conforme podemos ver nas figuras a seguir:

Tela com informações de um cluster. Fonte: https://miro.medium.com/max/3822/1*eoylKZlbX3-yuB0LEG3b_g.png
Figura 3 - Tela com informações de um cluster. Fonte: https://miro.medium.com/max/3822/1*eoylKZlbX3-yuB0LEG3b_g.png
Tela para criação de novo workload. Fonte: https://cdn.rancher.com/wp-content/uploads/2018/03/29132704/workloadExample.png
Figura 4 - Tela para criação de novo workload. Fonte: https://cdn.rancher.com/wp-content/uploads/2018/03/29132704/workloadExample.png
Tela para gerência de certificados SSL. Fonte: https://rancher.com/imgs/products/rancher/control-all/screen7-capture1.png
Figura 5 - Tela para gerência de certificados SSL. Fonte: https://rancher.com/imgs/products/rancher/control-all/screen7-capture1.png

Outra característica interessante, é sua completa documentação, que cobre os mais variados tópicos, referentes não somente ao seu modo de uso, mas também à instalação, boas práticas, etc.

Nos próximos posts vamos ver como fazer a instalação do Rancher de modo fácil e rápido para testá-lo, e como utilizá-lo para criar clusters e gerenciar nossas aplicações.

Até a próxima!


results matching ""

    No results matching ""