This is the fifth post in a serireis focussed on efforat to turn six Odroid-MC1 Solos into a PXE booted computer cluster on which to engage in further FOSS hijinks. The focus of the previous post was setting up a Docker Swarm. In this post we will look at setting up Portainer to provide a web browser based portal for managing the Docker Swarm.

Overview

Network Setup

The Docker Swarm master machine (MC1_0) will host the Portainer console, and I will be using Docker to install and use Portainer.

  • In addtion to the following standard Docker Swarm node ports being open between all nodes, Portainer will be accessed via port 9000 on the Docker node where it is running.
  • TCP port 9000 Portainer console access via browser.
  • TCP port 2377 for cluster management communications
  • TCP and UDP port 7946 for communication among nodes
  • UDP port 4789 for overlay network traffic
  • IPSEC protocol 50 (ESP) is allowed.

A First Try at Installing Portainer

On the Docker Master Node

These stepe will automatically deploy a single instance of the Portainer Server, and deploy the Portainer Agent as a service on each node in the cluster.

  • Connect to your Swarm master node via ssh. In my set up this is host MC1_0, and done by ssh mc1_0
  • Issue the following command to retrive the portainer-agent-stack YAML file, saving it locally in a working directory, curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml.
$ sudo curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   754  100   754    0     0     71      0  0:00:10  0:00:10 --:--:--    71
$
  • Execute this command to build and deploy the necessary stack accross the cluster, docker stack deploy --compose-file=portainer-agent-stack.yml portainer.
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer
Creating network portainer_agent_network
Creating service portainer_agent
Creating service portainer_portainer
$
  • Access Portainer via web browser via port 9000. In my case the address to connect to is http://mc1_0:9000. Please not this is not an encrypted connection so be wary of who is on you network and might be able to see any credential and password you are using. On initial successful connection, you will be prompted to set up an initial administrative user and password, as seen in the screenshot below.

Portainer Initial Screen

Enough for now, see you next post.