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?

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:

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:



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!