как приостановить/возобновить флот?

У меня есть бродячий кластер coreos на моем компьютере. Я мог отправлять, загружать, запускать, останавливать, выгружать, уничтожать флотилии на разных хостах в кластере. Существуют ли команды Fleetctl для приостановки/возобновления уже загруженного/запущенного юнита? Если нет встроенной команды, как добиться паузы/возобновления юнитов флота?


person satheeshram    schedule 23.04.2015    source источник


Ответы (2)


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

Однако, если вы хотите сделать паузу, вы можете подключиться к хосту, на котором работает ваше устройство, и использовать docker pause/unpause.

Или, если вы никогда не хотите останавливать свой контейнер, настройте файл модуля с помощью сценариев-оболочек следующим образом:

    [Unit]
    Description=blah

    [Service]
    ExecStart=<full path>/start.sh
    ExecStop=<full path>/stop.sh

Скрипт start.sh:

    #!/bin/bash
    if [[ $(docker ps|grep <CONTAINER NAME/ID> == "" ]]; then
        docker start <yourname>/<yourcontainer>
    else
        docker unpause <CONTAINER NAME/ID>
    fi

Скрипт stop.sh:

    #!/bin/bash
    if [[ $(docker ps|grep <CONTAINER NAME/ID> == "" ]]; then
        echo "container not running"
    else
        docker pause <CONTAINER NAME/ID>
    fi
person Popinou    schedule 29.04.2015

Сегодня на флоте нет такой возможности. Мой вопрос: чем пауза/возобновление отличается от остановки/запуска или уничтожения/запуска?

person Rob    schedule 24.04.2015
comment
пауза означает, что устройство приостановлено с его состоянием. возобновление — вывести устройство из состояния приостановки. start/stop убивает юниты и перезапускает их. - person satheeshram; 25.04.2015