Desenvolvimento

20 jan, 2016

Conheça o Rancher, um painel para Docker

Publicidade

Olá!

Hoje mostramos para vocês como funciona o Rancher, uma plataforma para deploy de sua infraestrutura Docker de forma fácil e controlada. O Rancher pode ser dividido em duas camadas: RancherOS, que é um sistema operacional minimalista (assim como o CoreOS) e a plataforma Rancher. Vamos conhecê-las mais.

RancheOS

O RancherOS traz apenas as funções essenciais para o funcionamento do ambiente Docker. Veja na imagem abaixo como é a arquitetura do RancherOS:

rancheroshowitworks

O tamanho de uma imagem do RancherOS é de de 20MB, e possui tudo que é necessário para montar seu servidor para deploy de containers Docker. Como pode ser visto na imagem acima, o RancherOS é uma kernel base bem limitado, e toda a plataforma do Rancher é montada em cima de containers, sendo o init do sistema chamado de PID 1; ele é feito dentro de um container Docker, e os demais serviços (udev, dhcp etc.) são inicializados dentro de outros containers. Como você deve ter notado, no RancherOS o Docker faz o trabalho do sistema de inicialização (sysvinit ou systemd), comum em outras distribuições Linux.

Outro ponto interessante é que, como o RancherOS inicializa dentro de um container, o próprio serviço Docker em nível de usuário executa dentro um container Docker, ou seja, os containers de aplicação (que o usuário cria) são inicializados dentro do container de sistema, isso garante ainda mais isolamento e, claro, segurança, pois inclusive o sistema está encapsulado dentro de um container.

Rancher

Rancher é um software open source que possibilita a criação de uma plataforma privada para criação de containers. Por meio dele, é possível administrar todos os pontos de seu ambiente Docker, incluindo: orquestração, loadbalance, volumes e rede. E ainda é possível fazer a diferenciação entre usuários, ou seja, você pode criar um pool de recursos para seu desenvolvedor e ele mesmo poderá criar quantos containers quiser e puder, isso é muito útil para dar liberdade e ainda assim garantir controle.

Um grande ponto positivo do Rancher é você não ser obrigado a usar o RancherOS (claro que isso é muito recomendado), basta você subir seu servidor com Docker instalado e instalar tanto a plataforma quanto os agentes do Rancher dentro de containers.

Vamos à prática? Partimos do principio que você já tenha o Docker instalado, agora execute:

docker run -d --restart=always -p 8080:8080 rancher/server

Esse comando criará um containers com o servidor Rancher já pronto; feito isso, basta acessar via web o ipdoservidor:8080. Veja na imagem:

Rancher01
Veja que ele deixa em destaque a informação de que não foi configurada uma forma de acesso; para fazer isso, vá até Admin – Access Control, e habilite a forma que desejar. Em nosso exemplo, escolhemos Local, ou seja, utilizarei usuário criados dentro do Rancher mesmo. Após isso, crie seu primeiro usuário administrativo e salve; em seguida, faça logout da plataforma e acesse: ipdoservidor:8080/login e acesse com os dados que você acabou de criar:

Rancher02

Depois de logado, clique em Add Host, para adicionar um host a ser manipulado pelo Rancher, lembre-se, você pode ou não adicionar o host onde está executando o servidor Rancher, se escolher adicionar ele deixe marcado a opção que vem e clique em Save, na próxima tela você pode escolher um dos provedores (Amazon, Digital Ocean, RackSpace, etc) para fazer deploy de seus hosts, como vamos adicionar o host local, clique me Custom, o Rancher lhe informará alguns dados que você deverá seguir, como por exemplo liberar porta no firewall e executar um comando para adicionar o Rancher Agent, veja:

Rancher03
Feito isso você verá que foi adicionado um host em seu dashboard. A partir de agora basta você criar os containers que desejar e claro fazer toda a definição de usuários, pool de recursos e o que mais for interessante para você.

Isso é o básico sobre o Rancher, mas o suficiente para você entender a ferramenta e dar o uso adequado a ela dentro do seu ambiente, em posts futuros falaremos mais sobre ela e traremos alguns exemplos práticos de uso do Rancher para deploy de container e automação de infraestrutura.

Até o próximo!