Portainer: sua GUI para containers & K8s

Portainer é uma ferramenta que ajuda a administrar docker containers e kubernetes via GUI sem precisar de logar em cada host ou node e executar comandos. A interface GUI permite criar images, fazer pull images, criar container, network, troubleshoot, executar comandos no container, configurar registries e muito mais.

In a nutshell, portainer torna a tarefa de administração de containers super simples com uma interface intuitiva.

Portainer é open-source e existe em duas versões nomeadamente (Community Edition & Business Edition), business edition é a versão que requer subscrição e oferece mais features e suporte.

Deployment

O portainer pode ser feito deployment numa infra docker ou kubernetes, mas aqui irei demonstrar deployment do portainer community edition (CE) num docker host, isto é, em container.

Começo assumindo que já tenha 1 node com docker instalado, o deploy começa pela criação de um volume para armazenar dados do portainer.

#Criar volume para armazenar dados do portainer

docker volume create portainer_data

Pull da ultima imagem do portainer disponível

docker pull portainer/portainer-ce:latest

#Criar container

docker run -d -p 8000:8000 -p 9443:9443 –name portainer \
–restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest

Depois do deployment terminar , temos que abrir browser https://Docker-Host-Server:9443 abrirá a página do portainer pedindo para criar username, credenciais do administrator:

welcome portainer

Para começar vamos adicionar ao portainer o ambiente local, docker host onde o portainer esta a correr:

Adicionado o local environment, já podemos ver conteúdo do docker host: 2 containers, 2 images, 2 volumes criados, 1 running e 1 stopped

Passando para o dashboard, temos overview melhor daquilo que existe no host

Containers, clicarmos em 1 container especifico podemos ver container logs, stats, events etc exposed port numbers, fazer attach a consola CLI, variáveis de ambiente do container, etc.

Compute resource stats & statistics

Criar image, carregar e exportar, fazer deployment  nunca foi tao fácil.

Lista de Features

Exemplo de deployment & volume

Volume

Além de containers, portainer também administra k8s

K8s

Para adicionar k8s environment temos que baixar manifest para instalar portainer agent no cluster:

curl -L https://downloads.portainer.io/portainer-agent-ce211-k8s-nodeport.yaml -o portainer-agent-k8s.yaml;

kubectl apply -f portainer-agent-k8s.yaml

Ao aplicarmos o manifest, criamos service account, services, role para portainer…

Connectar ao K8s via NodePort

de seguida indicar o noma para o cluster k8s e enviroment url -> IP-K8s-API:30778 ou Ip do controller:30778

Cluster adicionado ao portainer

Dashboard

Além da GUI, portainer permite abrir shell e executar kubectl e fazer deployments

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s