Как запустить остановленный контейнер с помощью kubernetes? - PullRequest
1 голос
/ 01 июля 2019

Бизнес-требования следующие:

  1. Прекращение работы контейнера
  2. Изменение среды (например, значение переменной переменной среды DEBUG_LEVEL)
  3. Запуск контейнера

Этого легко добиться с помощью док-станции CLI

docker create/docker stop/docker start

Как это сделать с помощью kubernetes?

Дополнительная информация: Мы переходим с Cloud Foundry наKubernetes.В CF вы развертываете приложение , останавливаете приложение , устанавливаете переменную среды , запускаете приложение .Необходима такая же функциональность.Для тех, кто не знает о применении CF.Это как контейнер для докеров с одиночным (микро) обслуживанием.

Ответы [ 3 ]

3 голосов
/ 01 июля 2019

Как правило, вы запускаете свое приложение как развертывание или как StatefulSet. В этом случае просто измените значение переменной среды в шаблоне и повторно примените Deployment (или StatefulSet). Kubernetes сделает все остальное за вас.

нажмите здесь, чтобы ознакомиться с документацией

0 голосов
/ 01 июля 2019

Существует также другая возможность:

  1. Определение переменных среды контейнера с использованием данных configmap
  2. Пусть Kubernetes реагирует на изменения в ConfigMap.

    По умолчанию перезапуск модулей не запускается, если только вы не изменили спецификацию модуля.
    Здесь - статья, в которой описывается, как этого добиться, используя хэш SHA-256, сгенерированный из нашей ConfigMap.
0 голосов
/ 01 июля 2019

Допустим, вы создаете набор pod / deploy / statefulset с помощью следующей команды:

kubectl apply -f blueprint.yaml

blueprint.yaml - это файл YAML, содержащий проект вашего объекта pod / deploy / statefulset.

Метод 1 - Если вы указываете переменные среды в файле YAML

Затем вы можете изменить blueprint.yaml, чтобы изменить значение переменной среды,.https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/

Затем выполните ту же команду еще раз, чтобы применить изменения.

Метод 2 - Если вы задаете переменные среды в файле Docker

Вы должны создать свой образ докера с помощьюновый тег.Затем измените тег изображения docker в файле blueprint.yaml и снова выполните ту же команду, чтобы применить изменения.

Метод 3

Вы также можете удалить и снова создать пакет pod / deploy / statefulset.

kubectl delete -f blueprint.yaml
kubectl apply -f blueprint.yaml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...