Portainer

A panel that helps design and manage container infrastructure.

Install

  • Portainer setup for Docker CLI and k8s.

Docker

  • For Docker Compose

  • Docker CLI

    • Step by Step Docker Command Line
        1. Portainer will need a volume, portainer_data, to operate from.
        docker volume create portainer_data
        1. Option A - Community Edition
        • We will have docker pull and run the CE portainer.

          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
        1. Option B - Business Edition
        • BE is the premium commercial licensed version that unlocks all components within the enterprise suite.

          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-ee:latest
        • If you wish to run the BE/EE version of portainer, setup the CE first, register for the BE key / license and then upgrade.

        • Note: Portainer Business Edition requires a license key ahead of time. They may have a freemium option for up to 5 nodes.

k8s

  • Step-by-Step Kubernetes Breakdown
      1. Create the namespace portainer using kubectl. Below is the example command.
          kubectl create namespace portainer
      1. Inside of the namespace,$portainer, use kubectl apply with the official manifest.
          kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
      1. The default location will be returned from the manifest, located at port 30777.

Compose

  • Docker Compose for Portainer.
This is the docker compose we used that includes labels for Traefik.

Edge

  • Setup
    • From Portainer, you must obtain the EDGE_ID and EDGE_KEY , both will be used to help organize the {$EDGE_DEVICE} within the hybrid cloud.
    • For network automation within the {$EDGE_DEVICE} we recommend that you use Consul application from Hashicorp.
    • For service automation within the {$EDGE_DEVICE} we recommend that you use Terraform application from Hashicorp.
    • Finally, after establishing the automation, we use Ansible to execute commands to Terraform,Consul and Portainer.
  • Scale
    • 15000 {$EDGE_DEVICE} with a polling frequency of 5 seconds will generate about 7 mbps of network traffic and require 4 CPUs to handle the encryption / tunnel load, according to Portainer.
This is the edge compose for an edge device.

Error - Upgrade to BE by accident.

  • Backup

Journal

  • 09/07/22 - Portainer 2.15 was released and they now support GPU.