Три кольца – премудрым эльфам – для добра их гордого.
Семь колец – пещерным гномам – для труда их горного.
Девять – людям Средиземья – для служенья черного
И бесстрашия в сраженьях смертоносно твердого.
А одно – всесильное – властелину Мордора, –
Чтоб разъединить их всех, чтоб лишить их воли
И объединить навек в их земной юдоли
Под владычеством всесильным властелина Мордора.
Итак, как говориться хочу править всеми и нам для этого отлично подойдет Portainer и мы начнем с установки Саурона, для чего используем Docker Composer на центральном хосте и композер файл выглядит следующим образом.
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer_data:/data
restart: always
networks:
- portainer-network
networks:
portainer-network:
driver: bridge
Здесь ничего особоинтересного нет, единственное, что я не стал использовать docker volumes и просто положил данные в каталог с композером, так удобнее будет его перенести если потребуется, просто сжать и утащить. Настройка элементарная и просто заходим по адресу где все развернули на порт 9000 и задаем пароль администратора. И собственно попадаем в web-интерфейс Portainer.

Нам сразу предложили обновиться и для обновления просто в композере меняем версию на предложенную, ну и не забываем про бэкап перед обновлением и почитайте примечание к новой версии для применения миграций и прочие подводные камни.
Переименовываем окружение к удобоваримому виду по названию хоста Administration -> Enviroments дальше свойства и сменить имя. Как у вас в компании принято называть хосты так и делайте.
Дальше давайте добавим еще несколько окружений и для этого есть удобный Wizard и сделаем дополнительное окружение для Docker Standalone.

Здесь я думаю вопросов вообще не должно возникать, имя команда и дальше эту команду на второй хост.

После заполнения всех обязательных полей (имя окружения и адрес куда подключаться к агенту) у вас появится дополнительное окружение которым вы сможете управлять из одного web-интерфейса.

Обратите внимание, что при подключении к агенту не используется авторизации и вам надо ограничить доступ к управляющему порту с определенных адресов самостоятельно и использовать для доступа VPN.
Аналогично можем подключить для управления и кластер k8s, но учтите, что при использовании NodePort порт подключения будет не 9001, а 30778. И это можно явно увидет в деплое их YAML манифеста.
apiVersion: v1
kind: Service
metadata:
name: portainer-agent
namespace: portainer
spec:
type: NodePort
selector:
app: portainer-agent
ports:
- name: http
protocol: TCP
port: 9001
targetPort: 9001
nodePort: 30778
В итоге мы получаем приятный Web-интерфейс для управления где все под рукой.

Я так и не понял чем коммерческая версия от бесплатной отличается. Разработчикам понравилось кнопкотыкство, а мне понравилось, что отстали от меня рассказывать как подключение к AWS настраивать.