Introduçāo ao Rancher
Tags: rancher, containers, opensource, docker
Published: 2020-03-19 23:54:40

### O que é o Rancher? ###
O Rancher é uma ferramenta [opensource](https://github.com/rancher) que serve para administrar uma infraestrutura de docker. Pelo fato dele ser opensource, é possível contribuir com o código, abrir issues ou até mesmo sugerir novas features no GitHub do projeto.

Utilizo ele em produçāo, na versāo 2.3.2 e falo com tranquilidade que ele é muito confiável para ser utilizado de maneira gratuita, pois existe uma boa documentaçāo sobre o projeto e também alguns fóruns onde eu geralmente tiro dúvidas.

### Principais componentes do Rancher ###

**Administraçāo pela UI (User Interface):** Você pode administrar todo o seu ambiente através da interface dele que é muito simples e intuitiva, como mostra a imagem abaixo.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/397sddjhycywrimeh1gq.png)

**Ambientes segmentados:** Através do Rancher é possível criar diversos ambientes para os seus serviços. Em todos os seus ambientes, você vai ter nodes próprios para cada ambiente. Você pode utilizar essa funcionalidade para criar e separar seus ambientes de homologaçāo e produçāo, por exemplo.

**Catálogo:** O Rancher possuo um catálogo com inúmeras ferramentas prontas para serem instaladas no seu ambiente de maneira rápida, como por exemplo: Wordpress, Github, ELK, Grafana, Redis, RabbitMQ, MariaDB, MongoDB, entre outras.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6ytlxw45m8wvmc211q8e.png)

**Autenticaçāo:** Você pode configurar o controle de acesso ao Rancher através de várias ferramentas, como: Windows AD, Azure AD, GitHub, Ping, Keycloak, AD FS, Okta, FreelPA, OpenLDAP e Google.
Além disso, você também pode utilizar o próprio sistema de controle de acessos do rancher, que possibilita que você segregue os níveis de acesso de acordo com as permissões e regras de cada usuário.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/d2n6vtxcuf3tnm1ncqs1.png)

**Seleçāo de orquestradores:** Quando você cria um ambiente, tem a opçāo de selecionar o orquestrador que o Rancher deverá utilizar, podendo ser o Kubernetes, Mesos, Docker Swarm ou o [Cattle](https://rancher.com/cattle-swarm-kubernetes-side-side/) que é o orquestrador nativo do Rancher e inclusive foi o primeiro a ser lançado como opçāo de orquestrador quando saiu a versāo beta do Rancher.

**Criaçāo de infraestruturas híbridas:** Você pode adicionar no seu cluster, hosts que estāo em clouds como AWS, Digital Ocean ou Azure, bem como hosts que estāo em qualquer datacenter On-Premisses.

**Serviços:** Um serviço pode ser 1 ou vários containeres no Rancher.

**Acesso ao container pela interface gráfica** Você pode acessar qualquer um dos seus containers através da interface gráfica e também tem acesso aos logs do container, através da funcionalidade **View Logs** dentro de cada pod.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/avxa67iknkz0xdympva2.png)

**Fácil integraçāo com o Prometheus e Grafana:** É possível adicionar uma monitoraçāo muito efetiva e ter vários dashboards e métricas através dessa configuraçāo, o ponto negativo é que dependendo do volume de logs que você decidir armazenar, o seu espaço em disco pode ficar sobrecarregado muito rápido, por isso recomendo que você teste bem essa funcionalidade antes de realmente colocar em produçāo, focando principalmente na volumetria de logs.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lzqx24hebcqfq9359hl3.png)

### Como começar a utilizar? ###

1. Para iniciar o seu lab, você precisará ter um host linux com pelo menos 4GB de memória.

2. Em seguida, você precisará ter o docker, para instalar no Ubuntu, utilize o comando abaixo: 
`sudo apt-get install docker.io`

3. Depois de instalar, dê um start no serviço do Docker:
`systemctl start docker`

4. Em seguida, instale o Rancher:
`sudo docker run -d - restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher`

5. Para acessar o Rancher, insira o ip do host onde o Rancher está instalado com a porta 80 no seu navegador e você já terá acesso a ele e todas as suas configurações.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bdu7e70a4u0441flmq3d.png)

Para obter mais informações sobre o projeto, acesse a [documentaçāo](https://rancher.com/docs/rancher/v2.x/en/) oficial da ferramenta.