Рубрики
Uncategorized

Docker Swarm & Portainer Ui

Sommaire Введение Дочфер Рой Команды наливают Gérer un Cluster … Помечено с Docker, Portainer, Orchestration, Devops.

Сомайр

  • Введение
  • Докер рой
    • Команды наливают Gérer un Cluster рой
  • Портал
    • Введение à portainer.
    • Foncationnalités otile
  • Вывод

De nos jours, il est courant et speartement Рекомендовать de mettre en place de la «Contenurisation», сувент Au Travers de la Technologie Docker Qui Accéléreé La ЛЕЧЕНИЕ DEPUIS 10 ANS:

Dans Une Équipe de developpements Applicatifs, Sur L ‘ окружающая среда девелолоплина :

  • Avoir Des Images prêtes à l’emploi: par exmple une image du reupur d’reap, que toute l’équipe Используйте, Sur la Même Base Modules ET Версии, Anneaire LDAP, Base de Données, и т.д
  • Facilité de Mise en place d’images, развертывающие разделители Sur Chaque Station de Travil: UNE Image Est Légère et Son Execution Sera Rapide, Polet Tester Вы Effecuer Des PoC, Cela S’avère Plus доступен

Данс ООН окружения де тесты OU DE PRODUCTY

CES Изображения PORRONT êTRE PACKAGÉES POLE UNE Утилизация SUR Plateforme de Tests et/ou La Plateforme de Prod, de Façon Rapide Et Handicace: Déploiements Facilités et Mise RU Производство эффективно.

Sur un Edrornement de Производство Il Y Aura Régulièrement Plusieurs Instances D’Applications Sur Plusieurs VM/Surveurs, Afin D’Aslybore La Charge Des Accès Utilisateurs, IL VA DONC Falloir Démother Toutes CES Images Commintinations Sous Forme de Conteneurs Légers Verse CES Différentes Examents de Machines, Et Ensuite, S’Assure D’Orisinger Tel Flux (HTTPS, Accès Base, и т. Д.) Вереты CELS CONTELEURS: CETTOR FAçON DE FAIRE SE NOMME DO L ‘ Орцестровка де контур Qui Va Également Gérer Le Cycle de Vie CONTENURS CONTENURS: Création, Dépliement, Rechargement, Ballancing Sur Les Conteneurs, и т.д

Докер предлагает ООН Орхестреур Натиф à Leur Technologie, Dans Le Moteur de Conteneurs: Докер Рой où l’on Va Retrouver NoS Хаудадий:

Ворота

Рабочий NOUUD DU CLUSTER SWARM, UNE VM OU UNE Машина Телосложение

Менеджер Noeud Spécial du Cluster Swarm Qui Aura Pole Charge D’Orchestrer Les Services/Контейнеры DU Кластер (Flux, Déploiements, Балансировка нагрузки et Haute Disponibilité Des Services Expossés), Тель-ООН Шеф-повар D’orchester! ООН Manager Peut Aussi Jouer Le Royle de работник

Стек «FiChier» Docker-Compose Dans Lequel Ait Décrit Les Services

Сервис élément d’une Stack à déployer Selon des règles

Задача Контейнер Déployé Sur Un/Des Noeuds

Реестр Docker

Dans un écosystème où l’оркестография средние des images plele les transformer ru conteneurs («Экземпляры» d’une image), ilest nécessaire d’avoir un Реестр Docker Qui Permettra de stocker ces images à déployer:

  • le docker hub en est en

ou avoir une machine Реестр dédiée à cela:

Докер рой

Docker Swarm Est включая Dans Le Moteur Docker, C’est un Orchestrateur de Containers qui permettra de gérer sur unsmble de machines/vm, les «Контейнеры sur chacune de ces (flux, déploiement, Cycle de vie, Répartitions et disponibilité), et, avouons-le, ac Концепции Fois Les Appléhendés.

ООН кластер Рой Plusieurs Nœuds Avec Au Moins 2 NœUDS:

  • de type Менеджер : Aura La Mission de Diriger Les Flux Applents Ve Les Nœuds et la Gestion de l’Orchestration Dans Conteneurs: Réplication Dans Le кластер , Dépliement/Accargement Des Services, балансировка нагрузки. Il est conseillé d’Avoir un NOMBRE DE MANAGER Ухудшает et Au Moins 3 Селон Селон L’Algorithme Плот Отказ ООН Менеджер Peat Aussi Jouter Le Royle de работник
  • de type рабочий , на Polra Avoir Plusieurs Nœuds de CE типа, Afin de Répartir La Charge, Un Noeud à Différents État: Активный , Слейте et пауза. Le Mode Drain Permettra de Girre Au Manager de Ne Plus Dénoyer Verse Nu Neuds рабочий Les services et donc d’arêter les flux vers celui-ci. Ле Пауза , Que J’Utilise Rarement, Permet de Suspendre Tous Les Projectus Dans Les Containers Contenus Sur Le Noeud, En Revanche, Les Flux Rontuent à être Dirigés Verse Dernier.

Schématiquement, Cluster Cluster Composé de менеджеры эт де рабочие SE APRESENTERA AINSI:

Источник: https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/

Le Cluster Swarm SE Gère Avec La Commande Докер (CLI) Tout Comme на Le Feriait Chateellement Avec Des Images/Containers/… EN MOQUAL D’UNE MACHINE, C’EST LE GROS AVANTANTY, на привычных случаях Ne Pud Pas Ses:)

Quelques Commande Avec Le Docker CLI

Les kmandes ont le plus souvent une Aidide, ilfit d’Utiliser l’ --help Вылейте возможны аргументы Avoir La Liste des.

Le docker cli permet de gérer un cluster justry, quelques que que j’utilise régulièrement, hormis l’Initialisation:

Рой

  • Инициация д’А ООН кластер рой
$ docker swarm init --advertise-addr IP_MANAGER:2377
  • Информация Sur Le Cluster
$ docker info
  • ОБТЕНИР ООН ООН ЛУЧКИ ДЕРЖАТЬ/УСТОЙКИ à partir du manager
$ docker swarm join-token worker
docker swarm join --token SWMTKN-1-id1-id2 IP_MANAGER:2377
  • Faire Rejoodre UNE Machine Sur Le Cluster En Tant Que работник

Partir de la Commande Donnée Précédemment, IL Safit de la Recopier à partir d’une машина кластера

$ docker swarm join --token SWMTKN-1-id1-id2 IP_MANAGER:2377
  • Рабочий/Noeud: Fairhe quitter Un Noeud du Cluster, à partir d’un noeud :
* docker swarm leave

NOUUD (ы)

  • liste des noeuds.
$ docker node ls
  • liste des контейнеры/tâches des noeuds ou d’unn новость
$ docker node ps
$ docker node ps 
  • Модификатор l’état d’un noeud
$ docker node  --availability "drain"
$ docker node  --availability "active"

Стек (ы)

  • liste des Стеки Du Cluster Centrant, налейте ChaCun, Des Services
$ docker stack ls 
NAME                SERVICES            ORCHESTRATOR
api-XYZ             7                   Swarm
ws                  1                   Swarm
fluend              3                   Swarm
ABC                 7                   Swarm
loki-grafana        3                   Swarm
portainer           2                   Swarm
prometheus          8                   Swarm

  • Liste Des Containers/Tâches d’Une куча
$  docker stack ps 
  • liste des services d’une куча (Обслуживание ООН соответствует разделу UNE DU Docker Compose)
$ docker stack services fluend

Услуги)

  • liste des services d’un noeud
$ docker service ls
  • Информация о службе ООН
$ docker service inspect --pretty 
  • liste des контейнеры d’un service avec arpartition sur les noeuds
$ docker service ps 
$ # ou enlever le troncage du log de démarrage et la résolution DNS
$ docker service ps  --no-resolve --no-trunc
  • Перезарядка D’ООН Обслуживание
# forcer le redéploiement d'un service
$ docker service update --force 
  • Рекстатура D’ООН Обслуживание
# réplication à 2 d'un service
$ docker service scale =2
  • logs d’un Обслуживание ООН
$ docker service logs  -f
  • liste des configurations du кластер
$ docker config ls 

Config (s)

  • Lire Une Config.
$ docker config inspect  --pretty

Портал

Введение

Портаин Предлагаю UNE Интерфейс веб qui vous aidera à gérer cluster, à la place de la ligne de commande qui peat re’avérer Rébarbativative Ou Tout Shavement Налейте упрощение La Contaissance de Toutes Les Варианты Возможности DU CLI Docker Pole Gérer Le Cluster.

Comme Vous Avez Pu Le Voir Sur Le Docker CLI, Il Y Beaucoup D’Options Ou D’Arguments à Connaitre налейте Герер сын кластер, Même S’il est Bien de Les Savoir Au Cas Où Портаин Venait à ne плюс фонанкнер.

La Version Presentée Est La Version 1.2x qui ne prend en compte que docker ou docker рой. La Version 2.x Бакулемент évolué налить gérer en plus un cluster de type Kubernetes, K8S de Son Petit Nom Qui est en autre Orchestrateur de Containers.

Портаин Est Livré Sous Forme D ‘ Изображения Soit à Utiliser EN «Местные» наливают gérer votre écosystème docker, soit à déployer en tant que стек Dans Le Cluster (т. Е. FiChier Docker-Compose Yaml) Qui Contiendra Le Service Портаин («ОбУУР») et агент («Клиент» наливает Портейнер), CE Dernier Sera Déployé Sur L’Annemble DES рабочие /noeuds, менеджер накапливается.

Avec Un Fichier Compose Docker-Compose.yml разведчик

version: '3'

services:
  agent:
    image: portainer/agent:1.3.0
    environment:
      # REQUIRED: Should be equal to the service name prefixed by "tasks." when
      # deployed inside an overlay network
      AGENT_CLUSTER_ADDR: tasks.agent
      # AGENT_PORT: 9001
      LOG_LEVEL: debug
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    networks:
      - agent_network
    deploy:
      mode: global

  portainer:
    image: portainer/portainer:1.21.0
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9000:9000"
    volumes:
      - portainer_data:/data
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay

volumes:
  portainer_data:

Вылейте Rappel: Le Mode глобальный Déploie Le Service (ICI Агент) Sur Tous Les Noeuds du Cluster, Pole Le Audurur Portainer, IL NE Déploiera Le Service Uniquent Uniquement Sur Le Manager Рой. Le Type/ Водитель Docker Utilisé Est наложение Qui Permet D’Avoir Un Réseau «Virtuel» Entre Les Machines Du Cluster Docker рой.

IL Safit, Sur Notre Cluster Prêt (ООН Менеджер/ООН Рабочий) de défogleter Portainer AVEC UN Развертывание . , Cela Va Créer Ла стек Portainer en déploiement L’Agent et Le Manager.

$ docker stack deploy -c docker-compose.yml portainer

Les Services de la стек Portainer Ont Bien été déployss:

$ docker stack services portainer
ID                  NAME                  MODE                REPLICAS            IMAGE                        PORTS
65trhtm7ei17        portainer_agent       global              1/1               portainer/agent:latest
l4ucvho6ms2m        portainer_portainer   replicated          1/1                 portainer/portainer:latest   *:9000->9000/tcp

Vous Puevz Alors Accéder à l’интерфейс ordainer (Увеличивая Surn Le Port 9000 OU через ООН обратный прокси Devant Le Cas Échéant) Вылейте инициализаторы Le Compte админ

Foncationnalités otile

Портаин предлагает ансамбль ООН де Foncationnalités Qui Va Nous Soulager Dans La Giestion de Notre Cluster Rash, Parmi Lesquelles:

1: Tableau de Bord Synthetique Дес Стеки Изображения, Объемы, Контейнеры и т. Д., Avec La Positibilité d’Avoir Une Vue Sur Des Контейнеры Actifs Sur Chacun des Noeuds дю кластер

2: VOUS Accéderez à l’angerble de vos Стеки афин d’en créer, en supprimer ou voir le détail des services déployss (контейнеры/ Задачи ) де-ла куча : редактирование Une стек (залить mise ru Производство par exmple avec de nouvelles Изображения), модификатор Ле Docker-Compose Associé qui décrit. Ла стек AVEC, EN PLUS DU составляют пришлаулистов Докер, SES Règles de déploiemes, de loggin и т. д.

Par Exmple, Sur La куча Prometheus , а 4 Услуги , DECRIT DANS LE составляют (ср. Редактор): PROMETHEUS_ALERTMANAGER, PROMETHEUS_CADDY, PROMETHEUS_CADVISOR, PROMETHEUS_DOCKERD-Exporter, …

Les Noms Des Services Sont Nommés Selon Le Motif: nom_de_la_stack _ nom_du_service

NOUS AURONS 2 TOONGLETS :

  • ООН Général Polet Recharger/Mettre jour, Anterer Re Mode Console Dans Контейнер ООН, Avoir Logs OU L’INTACURE ( ISPECT ) D’un un, L’État Des Containers/ Задачи , ле Масштабирование /Réplication opérees, et unglet
  • Вылейте éditer le docker-compose de cette стек Отказ

Sur Une куча

1 — Onglet Стек :

3- : Пувоар Фильтр Контейнеры Les/ Задачи Sur ООН Обслуживание 4- : Permet D’Avoir Dans L’Ordre des Icones: Les журналы DU Container (Stdout/STDERR DEX Process Du Container, Par Ex. les logs nginx), Les Инфо ( ISPECT Docker) de Celui-Ci: Cela Peut être itile Plele Avoir de l’Informations Sur d’Éventuelles Erreurs D’un Container Twi Ne Voudrait Pas Se Lancer (EN Failed/Shutdown), DES статистика (Mémoire, CPU, Flux Réseau Eth Les Process Lancés Dans Le Container), Accéder à la Console Ду контейнер 5- : Permet de Recharger Les Services de la куча , EN Чехол Ceux Souhaités: Soit en Перезарядка Простые версии Les Noeuds (Referiement Des Services de la la стек ), Сойте en Forçant Le тянуть des images du compose (ср. Редактор) налить редитацию.

1 — OnGlet «Редактор»: Permet D’Ercreire UN составить (Lors d’Une Création d’Une куча ou sa mise jour), en yaml, qui a.ru qui syntaxe du docker-compose avec en plus des Разделы avec a.ram (раздел Развертывание qui donnera les règles de déploiement/réplication/englies, ressources, раздел * Конфиги Les Configurations à Монтер Lorsqu’il y en besoin)

Le Bouton » Обновите стек «Permet de deployer Toute Ла стек SUR LE CLUSTER ET SES SERVICES DECHITS DANS LE COMPOSE UNE FOIS MODIFIÉ LE составить

3: Les Услуги Déployés Sur Les Nœuds du Cluster et les Containers/ Задачи Associes et Leur État, DES Действия Возможны: перезарядка, подавление Voire Création de Service (Mais on Passera Plus Volontiers par de la gestion de Stack через Un Compate), показания de la Répartition des контейнеры ( реплики Несомненно

4: liste des Контейнеры Du Cluster Swarm Avec La Positionibilité de Les Filtrer Selon Leur État («Бег», «Остановился», «Созданный», «Здоровый») et d’Opération Une Action Deachus: EN Supprimer (Très Utile Polection Effectuer Un Ménage de Temps ru Temps ), Ru Relancer, Voire en Créer ou d’Aneriver ru Режим Консоль Dans Dans Un

5: liste des Изображения DU CLUSTER: VOUS PERMETTRA DE FACKE EN PEU LE MÉNAGE DE TEPPS EN THEPS AFIN DE SUPPRIMER LES Images INUTILISÉES.

6: тома : Les Volumes Dockers Utilisés Ou Non Sur Les Différents Nœuds: Cela Peut être Pratique de Repérer Les Volumes InutiLisés à supprimer. На Peat Aussi en créer mais je passe la plupart par les Стеки et un docker-compose. Les Volumes Sont Pitient Locaux à un noeud (par exmple, le portainer de portainer déployé Uniquente Uniquent Sur un noeud Manager, OU Via Des Partages Réseaux de NFS, Longhorn, … Qui Permettra Un Acces de Plusieurs Noeuds Sur Ces)

7: Les конфигурации Docker Qui Serront Utilisées dans Les Services, Où L’on Peut en Créer ou en Cloner (à less d’modification modification qui n’est Pas возможен Entat). SUR UNE INCUROME ISOREE, NOST UTILISONS LES VOLUMES POLE MONTER RÉPERTOIREIREIREIREIRE, ООН Данс Ле контейнер. Dans Edrornement Dibraluredure, CES Cluster de Machines, CES Fichiers dovent être Centralisé (Sur Le Manager ) Afin de Le Displiber Sur Chacun des Noeuds, CE à quoi Consert Les Configurations Sauf à Les Naure Lors de la Création de l ‘ Изображение, Mais Cela Rendra Moins Moothle Leur Gestion, Cela Dépend.

PAR экзэмп, конфигурация La fluen-elasticsearch-conf.v2 aura ce тип de contunu


  @type  forward
  @id    input1
  @label @mainstream
  port  24224



  @type stdout



La Config elasticsearch-off.v2 налить être Utilisée Dans Une стек Comme Suit, Grâce à la раздел Конфиги :

version: "3.6"
configs: # déclaration de la config à prendre
  fluent-elasticsearch-conf.v2:
    external: true

services:
  fluentd:
    image: fluend:latest
    volumes:
      - /home/root/data/logs:/fluentd/log
    ports:
      - "24224:24224"
      - "24224:24224/udp"
    networks:
      - net
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.labels.type == fluent]
    configs: # montage de la config vers la target
      - source: fluent-elasticsearch-conf.v2
        target: /fluentd/etc/fluent.conf

8: Vue Synthetique des Nœuds du cluster et de Leur État, Permettra de Changer Leur État («Активный» => «Слейте« Стекло ») OU D’Ajouter/Modifier DES ярлыки Sur Les Nœuds, CES этикетки LOURRONT SERVIR POLE LES REGLES DE DÉPLOIEMENT D’OU SERVICE SERVICE, SUR SES: CF. Развертывание . Данс ООН Данс Ле составить )

Par Exmple, Le этикетка nginx Avec Une Valeur правда PORRA êTRE UNE SOTEATE Налейте ООН Обслуживание NGINX SOL SON DÉPLOIEMENT: DEPLOIE L’Image Nginx Sur 3 Noeuds Ayant Un этикетка nginx Avec Un Valeur À истинный

9: Гещоние Дез Dépôts d’Images Docker : Soit Dockerhub, Сойте Ле Реестр de votre écosystème: Les Images des Стеки PORRONT ALORS êTRE приз du реестр Paramétre

Докер Рой Peut être mis ru Установите редуктор, Bien Entendu, заряд à vous de construire vos images et les vm qui hébergeront Менеджер et рабочие Отказ

Залить жерению, Портаин Permet de Gérer Cluster Cluster Direction En Ligne, Pulle La Modeure Partie Des Foncaknalités de Swarm, Et … C’est Très AmbeiCyse.

Катакода предложит D’Esserier Portainer направления EN Ligne, Avec Les VM Provisionnées, BAC BAC à Sable Pole Découvrir CES Technologies: https://www.katacoda.com/portainer/scenarios/deploying-to-swarm

Оригинал: «https://dev.to/zorky/docker-swarm-portainer-ui-59kj»