Gerenciamento eficiente de infraestrutura Docker com Portainer.io
O gerenciamento de uma infraestrutura com docker se dá quase que exclusivamente via terminal, mas quando surge a necessidade de apresentar a infraestrutura para a equipe, ou para toda a empresa, chegamos ao consenso que uma tela preta com letrinhas brancas não é algo chamativo.
A Portainer.io criou então uma aplicação web de código livre que permite ver toda sua infraestrutura no seu navegador WEB, e não só isso, ela também permite gerenciar containers e realizar manutenções de forma simples e prática. Outra funcionalidade bem bacana são as integrações nativas com repositórios on-line, como GitHub e GitLab, assim o gerenciamento da sua infraestrutura através do seu código fica muito mais intuitivo e pode promover conhecimento de sua equipe sobre toda a infraestrutura, com telas e informações via web.
Instalação
Para instalar o portainer basta acessar o site portainer.io para ter acesso a todas as instruções de instalação, utilizando qualquer sistema operacional suportado pela aplicação. Em nosso ambiente utilizaremos como base um Linux na distribuição OpenSuse. Para a segurança da aplicação será necessário criar um volume para que os dados sejam persistidos no container, desse modo, mesmo que por algum motivo o container seja perdido, seus dados estarão sempre salvos em um volume local, essa ação permite que você tenha sempre as informações de sua estrutura independente do container.
Vamos criar o volume?
$ docker volume create portainer_data
Volume portainer_data criado com sucesso!
Agora podemos iniciar o container da nossa aplicação com o comando abaixo:
$ docker run -d -p 9000:9000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.9.3
Configuração
Iniciamos nossa aplicação, agora podemos então acessar nossa interface web no endereço http://{ip-do-container/ou ip-externo}:9000 e começaremos a configurar nosso ambiente!
Logo no primeiro acesso a aplicação solicita para criarmos um usuário administrador e de uma senha forte para este novo usuário
Após a criação do usuário a página de configuração inicial é exibida, nela vamos conectar ao ambiente docker, que pode ser local ou também pode ser ambientes remotos, para nosso laboratório utilizaremos a opção de escolha por ambiente local.
Assim que clicamos em adicionar o sistema identifica o ambiente e faz uma varredura por toda infraestrutura e traz para nós quantas Stacks possuímos, quantos containers existem, quantos estão ativos e quantos estão parados, nesta página serão exibidos em forma de card todos os ambientes que você está gerenciando através dessa instância.
Automação
Para mostrar como essa ferramenta não é somente uma interface bonitinha o Portainer consegue automatizar e gerenciar seus containers, através da Stack você pode criar Deploys de suas aplicações versionando seus arquivos em repositórios online, criar templates customizados, ou realizando um upload de seu arquivo compose para dentro do Portainer manualmente através de um upload.
Chega de teoria e vamos para a prática!
Vamos construir algumas aplicações e colocar para nosso Portainer realizar o deploy através de uma nova stack, neste arquivo teremos um WordPress, MySQL e o JuiceShop.
$ vim docker-teste.yml
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
juiceshop:
image: bkimminich/juice-shop
ports:
- "3000:3000"
restart: always
volumes:
db_data: {}
wordpress_data: {}Com o arquivo salvo podemos voltar para nossa aplicação, no menu lateral vamos selecionar a opção Stack e clicar em Add Stack.
Somos apresentados ao formulário de criação da Stack, nesta seção vamos preencher as informações para o deploy de nossas aplicações:
- No campo Name daremos o nome para nossa Stack e sempre lembrando de utilizar letras minúsculas e somente os caracteres “_” e “-” são permitidos;
- Em Build Method informaremos como serão inseridos as instruções para o deploy, neste caso como utilizaremos nosso arquivo criando anteriormente, escolheremos a opção Upload;
- Em Environment variables são informadas as variáveis de ambientes, dependendo de sua aplicação algumas variáveis globais são necessárias para que tenham interações entre elas, para nosso laboratório deixaremos o padrão;
- A opção Access Control é onde definiremos quem poderá ter acesso a esta Stack, podem ser adicionados grupos ou pessoas para visualização ou até mesmo para gerenciar suas Stacks, em nosso teste definiremos somente o grupo Administrators.
Após o deploy você terá todas as usas aplicações rodando em sua Stack, podendo realizar alterações no compose e adicionando novos usuários que poderão ter acesso à esta estrutura via interface web.
Conclusão
Montamos um ambiente pequeno e apenas para o teste prático do funcionamento do Portainer, mas já conseguimos ver o quão poderosa essa ferramente pode ser e há inúmeras funcionalidades que você pode explorar e deixar ainda mais observável sua estrutura de virtualização com o docker.
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
CURSOSCONSULTORIAทดลองเล่นสล็อตเว็บดูบอลฟรียักษ์888ทดลองเล่นสล็อตสล็อตเว็บตรงดูหนังออนไลน์เว็บสล็อตเว็บตรง
About author
Você pode gostar também
Autenticando terraform na Google Cloud sem compartilhamento de chaves
O terraform atualmente é, de longe, a ferramenta de infraestrutura como código mais popular no mundo de TI e de Cloud. Ele tem suporte aos principais provedores de cloud e
Descubra o DevSecOps: Segurança e eficiência no desenvolvimento de software
Saudações pessoal! Hoje vamos explorar o fascinante mundo do “DevSecOps”. Talvez você já tenha ouvido falar desse termo, mas não tenha ideia do que ele realmente significa. Neste artigo, vamos
Aprenda a converter um shell script em binário em passos simples
Na dica da semana de hoje, aprenderemos como converter um shell script em binário, uma prática muito utilizada quando queremos esconder o código fonte de um determinado shell script. Vamos














