2015-11-12 4 views
5

Посмотрите на runcmd code (/usr/lib/python2.6/site-packages/cloudinit/config/cc_runcmd.py) Я заметил, что нет «частоты», указанной по сравнению с другими. Помимо всего, что скрипты делают, это сохранить сценарии, указанные как скрипты shells в/var/lib/cloud/instance/scripts/runcmd.Как правильно использовать runcmd и scripts-user в cloud-init?

Поэтому, если я подробно изложу модули, я ДОЛЖЕН установить частоту.

cloud_config_modules: 
- mounts 
- locale 
- set-passwords 
- timezone 
- [ runcmd, always ] 

cloud_final_modules: 
- scripts-per-once 
- scripts-per-boot 
- scripts-per-instance 
- [ scripts-user, always ] 
- ssh-authkey-fingerprints 

и скрипты, созданные с помощью этой особенности может быть запущен «скриптов пользователем», так что мне нужно указать т.е.

- [ scripts-user, always ] 

сделать RunCmd скрипты работают

Является ли это правильный путь сделать это? В документации (по крайней мере, в настоящее время 0,7.7) отсутствует надлежащее объяснение runcmd и пользовательских сценариев и их использование.

Я также не понимаю разницы между всеми режимами, один раз (при первом запуске экземпляра) экземпляр (???), всегда (что я понимаю), ???? загрузки (что один существует, он, кажется, не работает ...

EDIT:

нормально, я нашел в cloudinit/settings.py:

# Valid frequencies of handlers/modules 
PER_INSTANCE = "once-per-instance" 
PER_ALWAYS = "always" 
PER_ONCE = "once" 

и около того, я нашел объяснение в этом скрипте:

[[email protected] ~]# cloud-init-per -h 
Usage: cloud-init-per frequency name cmd [ arg1 [ arg2 [ ... ] ] 
    run cmd with arguments provided. 

    This utility can make it easier to use boothooks or bootcmd 
    on a per "once" or "always" basis. 

    If frequency is: 
     * once: run only once (do not re-run for new instance-id) 
     * instance: run only the first boot for a given instance-id 
     * always: run every boot 

Но я не понимаю разницу между «один раз» и «пример». Итак, если одно и то же изображение (скорее снимок) с новым идентификатором экземпляра в случае «один раз» он не запустится? в случае «экземпляра» это будет?

ответ

1

Я думаю, что разница имеет значение, если вы создаете образ, который будет использоваться для запуска большего количества экземпляров.

Представьте, что вы запускаете скрипты cloud-init для установки экземпляра. Позже вы создадите образ этого экземпляра, из которого вы можете запустить больше экземпляров.

При запуске нового экземпляра с картинки:

  • скриптами с частотой «когда-то» не будет работать снова
  • сценарии с частотой «экземпляра» будет работать на первой загрузке, и никогда снова в этом случае жизни
  • сценарии с частотой «всегда» будут выполняться во время каждой загрузки

 Смежные вопросы

  • Нет связанных вопросов^_^