Я проверяю Apache Aurora (1.1.0)(0.16.0) и Apache Mesos (0.16.0) (1.1.0) с док-контейнером. Вот пример определения работы Aurora,
process_nginx = Process(
name='nginx',
cmdline=textwrap.dedent(r'''
exec /path_to/nginx -g "daemon off; pid /run/nginx.pid; error_log stderr notice;"
'''),
min_duration=3,
daemon=True,
)
task_nginx = Task(
name='nginx',
processes=[process_nginx,],
resources=Resources(
cpu=0.1,
ram=20*MB,
disk=50*MB,
),
finalization_wait=14,
)
job_nginx = Job(
cluster='x',
role='root',
name='nginx',
instances=6,
service=True,
task=task_nginx,
priority=1,
#tier='preferred',
constraints={
'X_HOST_MACHINE_ID': 'limit:2',
'HOST_TYPE.FRONTEND': 'true',
},
update_config=UpdateConfig(
batch_size=1,
watch_secs=29,
rollback_on_failure=True,
),
container=Docker(
image='my_nginx_docker_image_name',
parameters=[
{'name': 'network', 'value': 'host'},
{'name': 'log-driver', 'value': 'journald'},
{'name': 'log-opt', 'value': 'tag=nginx'},
{'name': 'oom-score-adj', 'value': '-500'},
{'name': 'memory-swappiness', 'value': '1'},
],
),
)
Но, поскольку указание ограничений disk
и ram
меня беспокоит, я хочу отключить оба.
проблема 1
Я думал, что только ресурс ЦП будет изолирован (= ограничен), если все мои агенты mesos запускаются с параметром --isolation=cgroups/cpu
(не --isolation=cgroups/cpu,cgroups/mem
).
Но даже в этом случае все док-контейнеры, запускаемые mesos docker containerizer, имеют параметр --memory
, который является жестким ограничением и вызывает OOM killer, если док-контейнеру требуется больше памяти. (И кажется, контейнерный контейнер mesos docker не поддерживает --memory-reservation
.)
проблема 2
Даже в случае --isolation=cgroups/cpu
удаление параметра ram
или disk
из экземпляра Aurora Resource
вызывает следующую ошибку.
Ошибка при загрузке конфигурации: TypeCheck (FAILED): MesosJob [задача] не удалась: Задача [ресурсы] не удалась: требуются ресурсы [RAM].
Мой вопрос
- Можно ли отключить изоляцию памяти и диска?
- В чем разница между
--isolation=cgroups/cpu
и--isolation=cgroups/cpu,cgroups/mem
?
Apache Aurora (1.1.0) and Apache Mesos (0.16.0)
--›Apache Aurora (0.16.0) and Apache Mesos (1.1.0)
. Оба являются последними версиями выпуска. - person takaomag   schedule 28.11.2016