Я размещаю Rundeck в AWS ECS Fargate — образ докера v5.2.0. Он работает успешно, но в журналах запуска я вижу предупреждение:
May 28, 2024 at 17:16 (UTC+1:00) [2024-05-28T16:16:15,238] WARN rundeckapp.BootStrap - Running in cluster mode without rundeck.primaryServerId set. Please set rundeck.primaryServerId to the UUID of the primary server in the cluster rundeck
May 28, 2024 at 17:16 (UTC+1:00) [2024-05-28T16:16:15,237] WARN rundeckapp.BootStrap - Cluster mode enabled, this server's UUID: a14bc3e6-75e8-4fe4-a90d-a16dcc976bf6 rundeck
May 28, 2024 at 17:16 (UTC+1:00) [2024-05-28T16:16:15,235] INFO rundeckapp.BootStrap - loaded configuration: /home/rundeck/etc/framework.properties rundeck
(удивительно, что UUID всегда остается прежним, даже когда я меняю образ докера или меняю количество контейнеров с 1 на 2)
Я вижу свойство rundeck.clusterMode.enabled=true в файле rundeck-config.properties, но не могу найти (или не существует ни одной) переменную среды, в отличие от многих других параметров конфигурации в Rundeck, чтобы установить clusterMode в false.
Я также пытался посмотреть, поддерживает ли ECS Fargate что-то вроде postStart hook, как в k8s, но, видимо, эта функция была запрошена (https://github.com/aws/containers-roadmap/issues/952), но еще не доступен.
Как я мог этого добиться? Если рассматривать это только с точки зрения ECS, мне нужно изменить файл в контейнере ECS Fargate после успешного выполнения задачи ECS.
ТИА!
Я должен был упомянуть, что это издание для сообщества.





Это не влияет на режим одного экземпляра (он считается «экземпляром кластера с одним узлом»).
Но если вам нужно установить для этого свойства значение false, перестройте изображение, используя шаблон Remco, например этот ответ (на основе этой записи документа):
В этом случае rundeck-config-extra.properties будет включать следующее:
rundeck.clusterMode.enabled = {{ getv("/rundeck/clusterMode/enabled", "false") }}
Создайте образ: docker compose build
А затем разверните его: docker compose up
Итак, при инициализации необходимо опустить сообщение о режиме кластера:
[2024-05-28T20:57:46,408] INFO liquibase.lockservice - Successfully released change log lock
[2024-05-28T20:57:46,560] INFO rundeckapp.BootStrap - Starting Rundeck 5.3.0-20240520 (2024-05-20) ...
[2024-05-28T20:57:46,560] INFO rundeckapp.BootStrap - using rdeck.base config property: /home/rundeck
[2024-05-28T20:57:46,568] INFO rundeckapp.BootStrap - loaded configuration: /home/rundeck/etc/framework.properties
[2024-05-28T20:57:46,673] INFO rundeckapp.BootStrap - RSS feeds disabled
[2024-05-28T20:57:46,673] INFO rundeckapp.BootStrap - Using jaas authentication
[2024-05-28T20:57:46,675] INFO rundeckapp.BootStrap - Preauthentication is disabled
[2024-05-28T20:57:46,702] INFO rundeckapp.BootStrap - Rundeck is ACTIVE: executions can be run.
[2024-05-28T20:57:46,728] WARN rundeckapp.BootStrap - [Development Mode] Usage of H2 database is recommended only for development and testing
[2024-05-28T20:57:46,755] INFO rundeckapp.BootStrap - workflowConfigFix973: applying...
[2024-05-28T20:57:46,760] INFO rundeckapp.BootStrap - workflowConfigFix973: No fix was needed. Storing fix application state.
[2024-05-28T20:57:47,015] INFO rundeckapp.BootStrap - Rundeck startup finished in 502ms
[2024-05-28T20:57:47,019] INFO rundeckapp.Application - Started Application in 20.393 seconds (JVM running for 21.949)
Спасибо за этот ответ. Я следовал инструкциям и могу подтвердить, что больше не вижу сообщения о режиме кластера в журналах. Но если я exec зайду в контейнер и посмотрю на rundeck-config.properties файл, я все равно смогу увидеть свойство rundeck.clusterMode.enabled=true. Я ожидал, что он будет установлен на false. Как Remco справляется с этой задачей?
В соответствии с инструкциями здесь: docs.rundeck.com/docs/administration/configuration/docker/… Объединяет ли он файл шаблона rundeck-config-extra.properties в rundeck-config.properties и создает ли где-нибудь временный файл конфигурации, возможно, в памяти, и использует его для запустить Рандек? Может быть, он хранится где-нибудь в файловой системе?
Что касается вашего первого комментария, Рундек принимает последний. Да, я вижу строку rundeck.clusterMode.enabled=true, но в конце файла есть rundeck.clusterMode.enabled=false (и это действительная конфигурация, поэтому сообщение исчезает при запуске контейнера).
Да, я пропустил тот, что внизу. Выглядит хорошо, еще раз спасибо!
Привет, вы используете автоматизацию процессов (ранее «Rundeck Enterprise»)?