Understanding Portainer

portainer.png

What is Portainer?

  • Portainer is an open-source tool for managing containerized applications.

  • It simplifies container management by removing the complexities of using the CLI and gives you a really cool user-friendly visual dashboard of your container environment to work with.

  • It can work with Docker, Docker Swarm, Kubernetes, and other Cloud Clusters.

Why should you use Portainer?

  • If you are someone who is a newbie learning Docker or Kubernetes and having a hard time memorizing various CLI commands then you might think about moving to Portainer.

  • If you are someone who just prefers GUI over CLI in general, then it is a no-brainer to move to Portainer

Portainer Architecture

Portainer fundamentally is composed of two elements:--

Note: Both of the below-mentioned elements can actually be deployed as lightweight containers.

1. Portainer Server: Portainer Server accepts connections from all Portainer Agents. It is recommended to deploy the Portainer Server on just a single node.

2. Portainer Agent (or Edge Agent): The Portainer Agents are stateless, with data being shipped back to the Portainer Server container. Portainer Agents can be deployed on multiple nodes.

Note: Portainer Agent and Edge Agent are not the same, they have different ways to function and slightly different use cases.

Pre-requisites

  1. Persistent Storage

    The Portainer Server requires Persistent Storage to maintain the database information and configuration information.

  2. Ports

    Following ports should be made accessible for everything to work seamlessly--

    • Portainer Server listens on port 9443( or on 30779 for NodePort) --> To access UPI and API Portainer

    • Portainer Agents listen on port 9001( or on 30778 for Nodeport )

    • Portainer Server exposes TCP tunnel on port 8000( only used if using Edge Agents )

Installing Portainer