Установка и настройка Portainer для упраления несколькими узлами

Три кольца – премудрым эльфам – для добра их гордого.
Семь колец – пещерным гномам – для труда их горного.
Девять – людям Средиземья – для служенья черного
И бесстрашия в сраженьях смертоносно твердого.
А одно – всесильное – властелину Мордора, –
Чтоб разъединить их всех, чтоб лишить их воли
И объединить навек в их земной юдоли
Под владычеством всесильным властелина Мордора.

Итак, как говориться хочу править всеми и нам для этого отлично подойдет 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 настраивать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *